Commit 7c54dcf2 authored by Lucas NAURY's avatar Lucas NAURY

Envoi des données de la page de création d'annonce vers la page d'accueil

parent 5e7c677a
package com.example.tpleboncoin.models; package com.example.tpleboncoin.models;
public class Annonce { import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.NonNull;
public class Annonce implements Parcelable {
static int nbAnnonces = 0; static int nbAnnonces = 0;
private int id; private int id;
private String titre; private String titre;
...@@ -33,4 +38,36 @@ public class Annonce { ...@@ -33,4 +38,36 @@ public class Annonce {
public int getImage(){return image;} public int getImage(){return image;}
// Parcelable
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(@NonNull Parcel parcel, int i) {
parcel.writeString(titre);
parcel.writeString(adresse);
parcel.writeDouble(prix);
parcel.writeInt(image);
parcel.writeInt(id);
}
public static final Parcelable.Creator<Annonce> CREATOR
= new Parcelable.Creator<Annonce>() {
public Annonce createFromParcel(Parcel in) {
return new Annonce(in);
}
public Annonce[] newArray(int size) {
return new Annonce[size];
}
};
private Annonce(Parcel in) {
titre = in.readString();
adresse = in.readString();
prix = in.readDouble();
image = in.readInt();
id = in.readInt();
}
} }
...@@ -16,7 +16,7 @@ import androidx.navigation.Navigation; ...@@ -16,7 +16,7 @@ import androidx.navigation.Navigation;
import com.example.tpleboncoin.R; import com.example.tpleboncoin.R;
import com.example.tpleboncoin.databinding.FragmentAjoutAnnonceBinding; import com.example.tpleboncoin.databinding.FragmentAjoutAnnonceBinding;
import com.example.tpleboncoin.ui.home.HomeFragment; import com.example.tpleboncoin.models.Annonce;
import com.google.android.material.snackbar.Snackbar; import com.google.android.material.snackbar.Snackbar;
public class AjoutAnnonceFragment extends Fragment { public class AjoutAnnonceFragment extends Fragment {
...@@ -45,14 +45,17 @@ public class AjoutAnnonceFragment extends Fragment { ...@@ -45,14 +45,17 @@ public class AjoutAnnonceFragment extends Fragment {
Snackbar.make(view, "Veuillez remplir les champs pour créer l'annonce", Snackbar.LENGTH_LONG).show(); Snackbar.make(view, "Veuillez remplir les champs pour créer l'annonce", Snackbar.LENGTH_LONG).show();
return; return;
} }
Navigation.findNavController(view).navigate(R.id.navigation_home); // On créé l'objet de la nouvelle annonce
//Intent voirNouvelleListe = new Intent(HomeFragment.this, Accelerometre.class); Annonce nouvelleAnnonce = new Annonce(titreAnnonce.getText().toString(), adresseAnnonce.getText().toString(), 0, Double.parseDouble(prixAnnonce.getText().toString()));
//startActivity(voirAccel);
// On navigue vers la page d'accueil en passant la nouvelle annonce comme paramètre
Bundle bundle = new Bundle();
bundle.putParcelable("nouvelleAnnonce", nouvelleAnnonce);
Navigation.findNavController(view).navigate(R.id.navigation_home, bundle);
} }
}); });
......
package com.example.tpleboncoin.ui.home; package com.example.tpleboncoin.ui.home;
import static android.util.Log.DEBUG;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -11,6 +14,7 @@ import androidx.fragment.app.Fragment; ...@@ -11,6 +14,7 @@ import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
import com.example.tpleboncoin.databinding.FragmentHomeBinding; import com.example.tpleboncoin.databinding.FragmentHomeBinding;
import com.example.tpleboncoin.models.Annonce;
public class HomeFragment extends Fragment { public class HomeFragment extends Fragment {
...@@ -26,6 +30,13 @@ public class HomeFragment extends Fragment { ...@@ -26,6 +30,13 @@ public class HomeFragment extends Fragment {
final TextView textView = binding.textHome; final TextView textView = binding.textHome;
homeViewModel.getText().observe(getViewLifecycleOwner(), textView::setText); homeViewModel.getText().observe(getViewLifecycleOwner(), textView::setText);
// On récupère l'annonce qui vient d'être créée s'il y en a une
if(getArguments() != null && getArguments().getParcelable("nouvelleAnnonce") != null){
Annonce newAnnonce = getArguments().getParcelable("nouvelleAnnonce");
Log.d("HomeFragment", newAnnonce.getTitre());
}
return root; return root;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment