mirror of
https://github.com/LucasVbr/OutilCuisson.git
synced 2026-05-14 09:05:32 +00:00
communication entre les fragments
This commit is contained in:
@@ -77,10 +77,6 @@ public class AfficherFragment extends Fragment {
|
||||
listeCuissons.setAdapter(adapterCuissons);
|
||||
registerForContextMenu(listeCuissons);
|
||||
|
||||
// cuissonAffichees.add(new Cuisson("test", 0, 40, 180));
|
||||
adapterCuissons.notifyDataSetChanged();
|
||||
listeCuissons.requestLayout();
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@@ -89,9 +85,10 @@ public class AfficherFragment extends Fragment {
|
||||
*
|
||||
* @param cuisson La cuisson à ajouter
|
||||
*/
|
||||
public static void addCuisson(Cuisson cuisson) {
|
||||
cuissonAffichees.add(cuisson.toString());
|
||||
System.out.println(cuissonAffichees);
|
||||
public void addCuisson(Cuisson cuisson) {
|
||||
adapterCuissons.add(cuisson.toString());
|
||||
adapterCuissons.notifyDataSetChanged();
|
||||
listeCuissons.requestLayout();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
package com.example.outilcuisson;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -14,6 +15,7 @@ import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.example.outilcuisson.OutilCuisson;
|
||||
@@ -34,15 +36,30 @@ public class AjouterFragment extends Fragment {
|
||||
return new AjouterFragment();
|
||||
}
|
||||
|
||||
public interface EcouteurAjout {
|
||||
void recevoirCuisson(Cuisson cuisson);
|
||||
}
|
||||
|
||||
private EcouteurAjout activiteQuiMEcoute;
|
||||
|
||||
@Override
|
||||
public void onAttach(@NonNull Context context) {
|
||||
super.onAttach(context);
|
||||
|
||||
activiteQuiMEcoute = (EcouteurAjout) context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
public View onCreateView(LayoutInflater inflater,
|
||||
ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.ajouter_fragment, container, false);
|
||||
View view = inflater.inflate(R.layout.ajouter_fragment, container,
|
||||
false);
|
||||
|
||||
/* Liste des éléments intéractifs */
|
||||
inputPlat = view.findViewById(R.id.input_plat);
|
||||
@@ -51,7 +68,8 @@ public class AjouterFragment extends Fragment {
|
||||
btnEffacer = view.findViewById(R.id.btn_effacer);
|
||||
btnValider = view.findViewById(R.id.btn_valider);
|
||||
|
||||
/* Initialise le TimePicker en format 24h avec par défaut la valeur 0h40 */
|
||||
/* Initialise le TimePicker en format 24h avec par défaut la valeur
|
||||
0h40 */
|
||||
inputDuree.setIs24HourView(true);
|
||||
inputDuree.setHour(0);
|
||||
inputDuree.setMinute(40);
|
||||
@@ -67,20 +85,23 @@ public class AjouterFragment extends Fragment {
|
||||
int mDuree = inputDuree.getMinute();
|
||||
|
||||
/* Convertis la température en entier */
|
||||
int temperature = txtTemperature.isEmpty() ? -1 : Integer.parseInt(txtTemperature);
|
||||
int temperature = txtTemperature.isEmpty() ? -1 : Integer.parseInt(
|
||||
txtTemperature);
|
||||
|
||||
/* Cas ou les valeurs ne sont pas valides */
|
||||
if (!OutilCuisson.platValide(txtPlat)
|
||||
|| !OutilCuisson.heureCuissonValide(hDuree)
|
||||
|| !OutilCuisson.minuteCuissonValide(mDuree)
|
||||
|| !OutilCuisson.temperatureValide(temperature)) {
|
||||
|| !OutilCuisson.heureCuissonValide(hDuree)
|
||||
|| !OutilCuisson.minuteCuissonValide(mDuree)
|
||||
|| !OutilCuisson.temperatureValide(temperature)) {
|
||||
|
||||
System.out.println("Erreur");
|
||||
|
||||
}
|
||||
|
||||
/* Cas ou les valeurs sont valides : on ajoute une nouvelle cuisson dans la liste a afficher */
|
||||
AfficherFragment.addCuisson(new Cuisson(txtPlat, hDuree, mDuree, temperature));
|
||||
/* Cas ou les valeurs sont valides : on ajoute une nouvelle
|
||||
cuisson dans la liste a afficher */
|
||||
activiteQuiMEcoute.recevoirCuisson(
|
||||
new Cuisson(txtPlat, hDuree, mDuree, temperature));
|
||||
});
|
||||
|
||||
/*
|
||||
|
||||
@@ -12,7 +12,7 @@ import androidx.viewpager2.widget.ViewPager2;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
public class MainActivity extends AppCompatActivity implements AjouterFragment.EcouteurAjout {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
@@ -56,4 +56,15 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recevoirCuisson(Cuisson cuisson) {
|
||||
AfficherFragment fragmentAModifier =
|
||||
(AfficherFragment) getSupportFragmentManager().findFragmentByTag(
|
||||
"f0");
|
||||
|
||||
if (fragmentAModifier != null) {
|
||||
fragmentAModifier.addCuisson(cuisson);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user