Skip to content
Extraits de code Groupes Projets
Valider 693aded4 rédigé par Kilian Sonna's avatar Kilian Sonna
Parcourir les fichiers

edit workout enregistrement des données dans la hashmap

parent ca5d1273
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -11,6 +11,7 @@ import android.view.View; ...@@ -11,6 +11,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
...@@ -26,6 +27,7 @@ import com.google.firebase.database.ValueEventListener; ...@@ -26,6 +27,7 @@ import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Objects;
public class ListExercicesAdapter extends ArrayAdapter<String> { public class ListExercicesAdapter extends ArrayAdapter<String> {
...@@ -50,13 +52,13 @@ public class ListExercicesAdapter extends ArrayAdapter<String> { ...@@ -50,13 +52,13 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
// Récupérez l'image et le texte pour chaque élément de la liste en fonction de la position // Récupérez l'image et le texte pour chaque élément de la liste en fonction de la position
if (this.values.size() > 0) { if (this.values.size() > 0) {
System.out.println("values : " + values); System.out.println("values : " + values);
String exercice = values.get(position); String exercise = values.get(position);
Drawable delete_cross = context.getResources().getDrawable(R.drawable.cross_mark); Drawable delete_cross = context.getResources().getDrawable(R.drawable.cross_mark);
Drawable pen = context.getResources().getDrawable(R.drawable.edit); Drawable pen = context.getResources().getDrawable(R.drawable.edit);
// Afficher l'image et le texte dans les vues correspondantes // Afficher l'image et le texte dans les vues correspondantes
delete_button.setImageDrawable(delete_cross); delete_button.setImageDrawable(delete_cross);
edit_button.setImageDrawable(pen); edit_button.setImageDrawable(pen);
exercice_name.setText(exercice); exercice_name.setText(exercise);
ProgramCreationActivity activity = (ProgramCreationActivity) context; ProgramCreationActivity activity = (ProgramCreationActivity) context;
...@@ -64,55 +66,62 @@ public class ListExercicesAdapter extends ArrayAdapter<String> { ...@@ -64,55 +66,62 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
// Ecouteur de clics pour chaque élément de la ListView // Ecouteur de clics pour chaque élément de la ListView
edit_button.setOnClickListener(view -> { edit_button.setOnClickListener(view -> {
System.out.println("details : " + activity.exoDetailsForEachDay);
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext()); AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
View dialogView = inflater.inflate(R.layout.edit_workout, null); View dialogView = inflater.inflate(R.layout.edit_workout, null);
builder.setView(dialogView); builder.setView(dialogView);
AlertDialog dialog = builder.create();
dialog.show();
TextView exerciseName = dialogView.findViewById(R.id.exercise_name); TextView exerciseName = dialogView.findViewById(R.id.exercise_name);
exerciseName.setText(exercice); exerciseName.setText(exercise);
Query query = activity.db.orderByChild("name").equalTo(exercice); // Rechercher l'exercice dans la HashMap
query.addListenerForSingleValueEvent(new ValueEventListener() { ArrayList<Exercise> exercises = activity.exoDetailsForEachDay.get(activity.current_day_displayed);
@Override String imageUrl;
public void onDataChange(DataSnapshot dataSnapshot) { String description;
for (DataSnapshot snapshot : dataSnapshot.getChildren()) { for (Exercise exo : exercises) {
if (Objects.equals(exo.name, exercise)) {
// Récupération de la description // Afficher les détails de l'exo
String description = snapshot.child("description").getValue(String.class); imageUrl = exo.image_url;
ImageView imageView = dialogView.findViewById(R.id.exercise_image);
int resourceId = context.getResources().getIdentifier(imageUrl, "drawable", context.getPackageName());
imageView.setImageResource(resourceId);
TextView descriptionTextView = dialogView.findViewById(R.id.description_edit); TextView descriptionTextView = dialogView.findViewById(R.id.description_edit);
descriptionTextView.setText(description); descriptionTextView.setText(exo.description);
// Récupération de l'URL de l'image
String imageUrl = snapshot.child("image_url").getValue(String.class);
System.out.println("imageUrl : " + imageUrl);
// Chargement de l'image en tant que ressource drawable dans votre ImageView TextView break_time_TextView = dialogView.findViewById(R.id.pause_edit);
ImageView imageView = dialogView.findViewById(R.id.exercise_image); break_time_TextView.setText(String.valueOf(exo.breakVal/1000));
int resourceId = context.getResources().getIdentifier(imageUrl, "drawable", context.getPackageName()); }
imageView.setImageResource(resourceId); }
// Enregistrer les modifications de l'exercice
Button save_btn = dialogView.findViewById(R.id.save_modif_button);
save_btn.setOnClickListener(v -> {
EditText description_edit = dialogView.findViewById(R.id.description_edit);
EditText break_time_edit = dialogView.findViewById(R.id.pause_edit);
int break_time = snapshot.child("break").getValue(Integer.class); String new_description = description_edit.getText().toString();
TextView break_time_TextView = dialogView.findViewById(R.id.pause_edit); int new_break_time = Integer.parseInt(break_time_edit.getText().toString());
break_time_TextView.setText(String.valueOf(break_time/1000)); // Rechercher l'exercice dans la HashMap et modifier ces paramètres
}
}
@Override for (Exercise exo : exercises) {
public void onCancelled(DatabaseError databaseError) { if (Objects.equals(exo.name, exercise)) {
Log.e(TAG, "Erreur lors de la récupération des données : " + databaseError.getMessage()); exo.description = new_description;
exo.breakVal = new_break_time * 1000;
}
} }
activity.exoDetailsForEachDay.put(activity.current_day_displayed, exercises);
System.out.println("details : " + activity.exoDetailsForEachDay);
Toast.makeText(context, "Modifications sauvegardées", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}); });
Button save_btn = dialogView.findViewById(R.id.save_modif_button);
save_btn.setOnClickListener(v -> save_workout_details());
AlertDialog dialog = builder.create();
dialog.show();
ImageView closeButton = dialogView.findViewById(R.id.close_btn); ImageView closeButton = dialogView.findViewById(R.id.close_btn);
closeButton.setOnClickListener(v -> { closeButton.setOnClickListener(v -> {
// Fermer la pop-up // Fermer la pop-up
...@@ -123,7 +132,7 @@ public class ListExercicesAdapter extends ArrayAdapter<String> { ...@@ -123,7 +132,7 @@ public class ListExercicesAdapter extends ArrayAdapter<String> {
// Ajouter un OnClickListener à l'image // Ajouter un OnClickListener à l'image
delete_button.setOnClickListener(v -> { delete_button.setOnClickListener(v -> {
// Code à exécuter lors du clic // Code à exécuter lors du clic
Toast.makeText(context, exercice + " supprimé", Toast.LENGTH_SHORT).show(); Toast.makeText(context, exercise + " supprimé", Toast.LENGTH_SHORT).show();
activity.exoDetailsForEachDay.get(activity.current_day_displayed).remove(position); activity.exoDetailsForEachDay.get(activity.current_day_displayed).remove(position);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter