J'ai 2 fragments: (1) Frag1 (2) Frag2.
Frag1
bundl = new Bundle();
bundl.putStringArrayList("elist", eList);
Frag2 dv = new Frag2();
dv.setArguments(bundl);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.the_fragg,dv);
ft.show(getFragmentManager().findFragmentById(R.id.the_fragg));
ft.addToBackStack(null);
ft.commit();
Comment obtenir ces données dans Frag2?
android
android-fragments
Android_programmer_camera
la source
la source
bundle.getStringArrayList("elist");
return super.onCreateView(inflater, container, savedInstanceState);
getArguments()
inonCreateView
, pas inonCreate
?Exemple: Ajouter des données: -
Par exemple: obtenir des données: -
la source
dans Frag1:
dans Frag2:
C'est si simple.
la source
Instancier le fragment de la bonne manière!
Comment faire?
Code de fragment
Lire la suite
1) Pourquoi Myfragment.getInstance (String msg) est-il préférable au nouveau MyFragment (String msg)?
2) Exemple de code sur les fragments
la source
pour ceux comme moi qui cherchent à envoyer des objets autres que des primitives, puisque vous ne pouvez pas créer de constructeur paramétré dans votre fragment, ajoutez simplement un accesseur setter dans votre fragment, cela fonctionne toujours pour moi.
la source
setArguments()
. Les paramètres non sérialisables peuvent être définis avec setter, mais il doit à nouveau être appelé lors de l'activité / fragment receate.