From 5e8590fc884412cc257069119450b6a9bbaa6068 Mon Sep 17 00:00:00 2001 From: "enzo.lamour.etu" <enzo.lamour.etu@univ-lille.fr> Date: Wed, 12 Mar 2025 18:30:01 +0100 Subject: [PATCH] Q4 --- .../fr/iutlille/ctp_2025/MainActivity.java | 44 ++++++++---- .../iutlille/ctp_2025/OperationAdapter.java | 69 ------------------- 2 files changed, 31 insertions(+), 82 deletions(-) delete mode 100644 app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java 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 90ca6ff..efafa4d 100644 --- a/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java +++ b/app/src/main/java/fr/iutlille/ctp_2025/MainActivity.java @@ -6,28 +6,31 @@ import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import android.annotation.SuppressLint; -import android.content.Intent; import android.os.Bundle; -import android.util.Log; -import android.view.ContextMenu; import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import android.widget.EditText; import android.widget.TextView; -import android.widget.Toast; +import android.widget.Button; +import java.util.ArrayList; import java.util.List; import fr.iutlille.ctp_2025.databinding.ActivityMainBinding; -import fr.iutlille.tp4.OperationAdapter; public class MainActivity extends AppCompatActivity { public class ParticipantAdapter extends RecyclerView.Adapter<ParticipantViewHolder> { + private List<Participant> participantsList; + + ParticipantAdapter(){} + + public ParticipantAdapter(List<Participant> participants) { + this.participantsList = participants; + } + @NonNull @Override public ParticipantViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { @@ -41,11 +44,12 @@ public class MainActivity extends AppCompatActivity { Participant participant = model.getParticipant(position); holder.text1.setText(participant.getName()); holder.text2.setText(participant.getName()); + } @Override public int getItemCount() { - return 0; + return model.getNbParticipants(); } } public class ParticipantViewHolder extends RecyclerView.ViewHolder { @@ -77,14 +81,28 @@ public class MainActivity extends AppCompatActivity { ui.SumRestauration.setText(model.getSumOperations("RESTAURATION") +""); ui.SumLoisirs.setText(model.getSumOperations("LOISIRS") +""); ui.SumTransport.setText(model.getSumOperations("TRANSPORT") +""); + List<Participant> participantsList= new ArrayList<>(); + for(int i = 0; i < model.getNbParticipants(); i++){ + participantsList.add(model.getParticipant(i)); + } + ui.ParticipantList.setAdapter(new ParticipantAdapter(participantsList)); + Button btnParticipant =findViewById(R.id.add_participant); + btnParticipant.setOnClickListener(new View.OnClickListener(){ + @Override + public void onClick(View v){ + EditText et = findViewById(R.id.new_participant); + try { + model.addParticipant(et.getText().toString()); + } catch (ModelApplication.ApplicationErrorException e) { + throw new RuntimeException(e); + } + } + }); refresh(); } + private void refresh() { model.computeBalance(); ui.ParticipantList.getAdapter().notifyDataSetChanged(); } - - public int getItemCount() { - return model.getNbParticipants(); - } } \ No newline at end of file diff --git a/app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java b/app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java deleted file mode 100644 index e20a39c..0000000 --- a/app/src/main/java/fr/iutlille/ctp_2025/OperationAdapter.java +++ /dev/null @@ -1,69 +0,0 @@ -package fr.iutlille.tp4; - -import android.annotation.SuppressLint; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import java.util.List; - -import fr.iutlille.ctp_2025.ModelApplication; -import fr.iutlille.ctp_2025.Operation; -import fr.iutlille.ctp_2025.R; - -public class OperationAdapter extends RecyclerView.Adapter<OperationAdapter.OperationHolder> { - - private List<Operation> operationsList; - private ModelApplication md = new ModelApplication(); - - public OperationAdapter(List<Operation> operationsList) { - this.operationsList = operationsList; - } - - @NonNull - @Override - public OperationHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View itemView = LayoutInflater.from(parent.getContext()) - .inflate(R.layout.activity_main, parent, false); - return new OperationHolder(itemView); - } - - @SuppressLint("SetTextI18n") - @Override - public void onBindViewHolder(@NonNull OperationHolder holder, int position) { - Operation op = operationsList.get(position); - holder.SumTransport.setText(md.getSumOperations("Transport") +""); - holder.SumHebergement.setText(md.getSumOperations("Hebergement") +""); - holder.SumRestauration.setText(md.getSumOperations("Restauration") +""); - holder.SumLoisirs.setText(md.getSumOperations("Loisirs") +""); - holder.SumAutres.setText(md.getSumOperations("Autres") +""); - } - - @Override - public int getItemCount() { - return operationsList.size(); - } - - // ViewHolder qui contient les vues pour chaque item - public class OperationHolder extends RecyclerView.ViewHolder { - public TextView SumTransport; - public TextView SumHebergement; - public TextView SumRestauration; - public TextView SumLoisirs; - public TextView SumAutres; - - public OperationHolder(View view) { - super(view); - SumTransport = view.findViewById(R.id.SumTransport); - SumHebergement = view.findViewById(R.id.SumHebergement); - SumRestauration = view.findViewById(R.id.SumRestauration); - SumLoisirs = view.findViewById(R.id.SumLoisirs); - SumAutres = view.findViewById(R.id.SumAutres); - } - } -} - -- GitLab