From 826e025f9e32f5ce309d794f5bc8e82086fef438 Mon Sep 17 00:00:00 2001 From: Naiki00 Date: Wed, 17 Feb 2021 18:49:44 +0100 Subject: [PATCH] =?UTF-8?q?dodano=20mo=C5=BCliwo=C5=9B=C4=87=20klikni?= =?UTF-8?q?=C4=99cia=20istniej=C4=85cej=20notatki=20-=20pogl=C4=85d=20pust?= =?UTF-8?q?y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/notatkon/adapter/NoteAdapter.java | 35 ++++++++++++++----- .../notatkon/listener/NoteListener.java | 8 +++++ .../example/notatkon/note/MainActivity.java | 20 +++++++++-- 3 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/com/example/notatkon/listener/NoteListener.java diff --git a/app/src/main/java/com/example/notatkon/adapter/NoteAdapter.java b/app/src/main/java/com/example/notatkon/adapter/NoteAdapter.java index 26c1487..5d2829e 100644 --- a/app/src/main/java/com/example/notatkon/adapter/NoteAdapter.java +++ b/app/src/main/java/com/example/notatkon/adapter/NoteAdapter.java @@ -3,6 +3,7 @@ package com.example.notatkon.adapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; @@ -10,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.example.notatkon.R; import com.example.notatkon.entities.NoteEntity; +import com.example.notatkon.listener.NoteListener; import java.util.ArrayList; import java.util.List; @@ -20,22 +22,28 @@ import java.util.List; public class NoteAdapter extends RecyclerView.Adapter{ private List listNotes; + private NoteListener noteListener; //konstruktor - public NoteAdapter(List listNotes) { + public NoteAdapter(List listNotes, NoteListener noteListener) { + this.listNotes = listNotes; + this.noteListener = noteListener; } //implementacja ViewHoldera - public static class ViewHolder extends RecyclerView.ViewHolder { + static class ViewHolder extends RecyclerView.ViewHolder { - public TextView noteTitle, noteSubtitle, textDateTime; + TextView noteTitle, noteSubtitle, textDateTime; + LinearLayout viewNote; - public ViewHolder(@NonNull View itemView) { + ViewHolder(@NonNull View itemView) { super(itemView); noteTitle = (TextView) itemView.findViewById(R.id.note_title); noteSubtitle = (TextView) itemView.findViewById(R.id.note_subtitle); textDateTime = (TextView) itemView.findViewById(R.id.textDateTime); + + viewNote = (LinearLayout) itemView.findViewById(R.id.viewNote); } // wpisz notatke @@ -53,19 +61,28 @@ public class NoteAdapter extends RecyclerView.Adapter{ @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = LayoutInflater.from(parent.getContext()).inflate( - R.layout.view_note, - parent, - false + return new ViewHolder( + LayoutInflater.from(parent.getContext()).inflate( + R.layout.view_note, + parent, + false + ) ); // utwórz nowy ViewHolder i usuń - return new ViewHolder(view); + //ViewHolder(view); } ///// Replace the contents of a view (invoked by the layout manager) @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { holder.setNote(listNotes.get(position)); + + holder.viewNote.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + noteListener.onNoteClicked(listNotes.get(position), position); + } + }); } @Override diff --git a/app/src/main/java/com/example/notatkon/listener/NoteListener.java b/app/src/main/java/com/example/notatkon/listener/NoteListener.java new file mode 100644 index 0000000..33fbf40 --- /dev/null +++ b/app/src/main/java/com/example/notatkon/listener/NoteListener.java @@ -0,0 +1,8 @@ +package com.example.notatkon.listener; + +import com.example.notatkon.entities.NoteEntity; + +public interface NoteListener { + + void onNoteClicked(NoteEntity noteEntity, int position); +} diff --git a/app/src/main/java/com/example/notatkon/note/MainActivity.java b/app/src/main/java/com/example/notatkon/note/MainActivity.java index d338596..eb34a25 100644 --- a/app/src/main/java/com/example/notatkon/note/MainActivity.java +++ b/app/src/main/java/com/example/notatkon/note/MainActivity.java @@ -16,6 +16,7 @@ import com.example.notatkon.R; import com.example.notatkon.adapter.NoteAdapter; import com.example.notatkon.entities.NoteEntity; import com.example.notatkon.database.NoteRoomDatabase; +import com.example.notatkon.listener.NoteListener; import com.example.notatkon.note.CreateNote; import java.util.ArrayList; @@ -26,9 +27,12 @@ https://developer.android.com/guide/components/activities/activity-lifecycle https://developer.android.com/training/basics/intents/result */ -public class MainActivity extends AppCompatActivity { +public class MainActivity extends AppCompatActivity implements NoteListener { - private static final int REQUEST_CODE_NEW_NOTE = 1; + public static final int REQUEST_CODE_NEW_NOTE = 1; + public static final int REQUEST_EDIT_NOTE = 2; + + private int notePosition = -1; private List noteEntityList; private RecyclerView noteRecycler; @@ -60,12 +64,22 @@ public class MainActivity extends AppCompatActivity { ); noteEntityList = new ArrayList<>(); //połącz Adapter z RecycleView - noteAdapter = new NoteAdapter(noteEntityList); + noteAdapter = new NoteAdapter(noteEntityList, this); noteRecycler.setAdapter(noteAdapter); getAllNotes(); } + + @Override + public void onNoteClicked(NoteEntity noteEntity, int position) { + notePosition = position; + Intent intent = new Intent(getApplicationContext(), CreateNote.class); + intent.putExtra("update", true); + intent.putExtra("noteEntity", noteEntity); + startActivityForResult(intent, REQUEST_EDIT_NOTE); + } + //pobranie notatek z bazy i wyswietlanie na ekranie private void getAllNotes() {