2017-09-12 1 views
0

J'ai une ArrayList (A) qui contient un autre 2 ArrayLists (B), je reçois les données A d'un fichier json, dans la première activité je peux voir que A et B ne sont pas tous les deux vides, mais quand je passe a à une autre activité ou un fragment, un reste plein, mais B devient vide, tous les objets utilisés des outils Parcelable, ceci est un extrait du code utilisé pour envoyer et récupérer les données:Envoyer ArrayList à l'intérieur ArrayList

  Intent myIntent = new Intent(LauncherActivity.this, AcceuilActivity.class); 
        myIntent.putParcelableArrayListExtra("listeOffres",projectsList); 
        startActivity(myIntent); 
        finish(); 

et ce est comment je récupère A qui contient B offresList=getIntent().getParcelableArrayListExtra("listeOffres");

Répondre

2

Vérifiez votre fichier modèle Parceble. Prenons un exemple d'utilisateur ici et vérifions le code ci-dessous. En outre, vérifiez l'argument utilisé pour passer ArrayList dans intention. Si cela ne vous aide pas, veuillez fournir plus de détails.

protected User(Parcel in) { 
    name = in.readString(); 
    .... 
    gender = in.readString(); 
} 


@Override 
public void writeToParcel(Parcel parcel, int i) { 
    parcel.writeString(name); 
    .... 
    parcel.writeString(gender); 
} 
+0

Vous avez raison le colis généré n'implique pas nt comment lire ni écrire les listes, c'est quelque chose que nous devrions écrire par nous-mêmes, c'est la première fois que je l'utilise, donc je ne pensais pas qu'il laisserait de côté les listes – MeknessiHamida

+0

Si cette réponse est utile pour vous, alors vous pouvez upvote la réponse. –

1

J'ai eu le même problème et je l'ai résolu comme ceci:

Intent myIntent = new Intent(LauncherActivity.this, AcceuilActivity.class); 
       myIntent.putExtra("listeOffres",projectsList); 
       startActivity(myIntent); 
       finish(); 

et cela pour savoir comment les données retrive

offresList = (ArrayList<ModelClass>) getIntent().getSerializableExtra("listeOffres"); 

implémente alors Serializable comme:

class ModelClass implements Serializable 
{}