diff --git a/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java b/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java index efafa4d4bc47c1e749da068f6a07e1d476302756..bc46d2f0da2f2c3a601425750f5f81b4a175082b 100644 --- a/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java +++ b/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java @@ -1,5 +1,7 @@ package fr.iutlille.ctp_2025; +import static android.media.CamcorderProfile.get; + import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.DividerItemDecoration; @@ -7,9 +9,12 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.os.Bundle; +import android.view.ContextMenu; import android.view.LayoutInflater; +import android.view.Menu; import android.view.View; import android.view.ViewGroup; +import android.widget.AdapterView; import android.widget.EditText; import android.widget.TextView; import android.widget.Button; @@ -24,6 +29,9 @@ public class MainActivity extends AppCompatActivity { public class ParticipantAdapter extends RecyclerView.Adapter<ParticipantViewHolder> { private List<Participant> participantsList; + public static final int MENU_DELETE = 1; + private AdapterView.OnItemClickListener listener; + ParticipantAdapter(){} @@ -56,12 +64,41 @@ public class MainActivity extends AppCompatActivity { TextView text1; TextView text2; + public static final int MENU_DELETE = 1; + + private AdapterView.OnItemClickListener listener; + public ParticipantViewHolder(View itemView) { super(itemView); text1 = itemView.findViewById(android.R.id.text1); text2 = itemView.findViewById(android.R.id.text2); + itemView.setOnCreateContextMenuListener(this::onCreateContextMenu); } - } + + public void onClick(View v) { + if (listener != null) + listener.onItemClick(getAbsoluteAdapterPosition()); + } + + private void onCreateContextMenu(ContextMenu menu, + View v, + ContextMenu.ContextMenuInfo menuInfo){ + int position = getAbsoluteAdapterPosition(); + menu.add(Menu.NONE, MENU_DELETE, position, "Delete"); + menu.setHeaderTitle(ui.ParticipantList.toString()); + } + + private int getAbsoluteAdapterPosition() { + } + + public void setOnItemClickListener(AdapterView.OnItemClickListener l) { + this.listener = l; + } + + public void onBindViewHolder(@NonNull ParticipantViewHolder holder, int position) { + Participant participant = model.getParticipant(position); + holder.setOnItemClickListener(listener); + }} private ActivityMainBinding ui; private ModelApplication model; @@ -105,4 +142,5 @@ public class MainActivity extends AppCompatActivity { model.computeBalance(); ui.ParticipantList.getAdapter().notifyDataSetChanged(); } + } \ No newline at end of file