2013-03-08 1 views
0

Je souhaite passer le List<String[]> par intention à l'activité, puis le récupérer. Quelqu'un sait comment le faire correctement? MerciPassez la liste <String[]> en intention

+0

double possible de [Liste Intent.putExtra] (http://stackoverflow.com/questions/6543811/intent-putextra-list) – cammando

Répondre

4

Je le mettrais dans une sérialisable, puis passerais l'objet sérialisable dans le paquet à l'activité suivante.

Bundle bundle = new Bundle(); 
bundle.putSerializable("list", serializableList); 

mainIntent.putExtras(bundle); 
startActivity(mainIntent); 

java.util.ArrayList implémente déjà l'interface Serializable. ce serait parfait pour vos objectifs. ensuite sur l'autre activité vous pouvez utiliser le code suivant pour récupérer la liste

Bundle bundle = getIntent().getExtras(); 
userInfo = (ArrayList) bundle.getSerializable("list"); 

Hope it helps. Mettez votre variable dans une propriété statique d'un objet.

-1

ex.

public class Util { 

    public static List<String[]> mystaticlist; 

} 

et l'accès statiquement de la deuxième activité:

List<String[]> mystaticlist = Util.mystaticlist; 
-1

Il est possible, mais vous devez le transmettre comme Serializable et vous aurez besoin de jeter le résultat lors de l'extraction extra. Puisque ArrayList implémente Serializable et String [] est intrinsèquement sérialisable, le code est simple. Pour passer:

ArrayList<String[]> list = . . .; 
Intent i = . . .; 

i.putExtra("strings", list); 

Pour le récupérer:

Intent i = . . .; 
ArrayList<String[]> list = (ArrayList<String[]>) getSerializableExtra("strings"); 
Questions connexes