103 votes

Comment utiliser les méthodessetArguments () etgetArguments () dans Fragments ?

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 puis-je obtenir ces données dans Frag2 ?

193voto

almaz_from_kazan Points 1996

Il suffit d'appeler getArguments() Frag2 dans votre méthode onCreateView() :

public class Frag2 extends Fragment {

     public View onCreateView(LayoutInflater inflater,
         ViewGroup containerObject,
         Bundle savedInstanceState){
         //here is your arguments
         Bundle bundle=getArguments(); 

        //here is your list array 
        String[] myStrings=bundle.getStringArray("elist");   
     }
}

43voto

Arshid KV Points 5175

Par exemple : Ajouter des données :-

   Bundle bundle = new Bundle();
   bundle.putString("latitude", latitude);
   bundle.putString("longitude", longitude);
   bundle.putString("board_id", board_id);
   MapFragment mapFragment = new MapFragment();
   mapFragment.setArguments(bundle);

Par exemple : Obtenir des données :-

String latitude =  getArguments().getString("latitude")

27voto

codeScriber Points 1800

Vous avez une méthode appelée getArguments() qui appartient à la classe Fragment.

8voto

Siva krishna Points 111

dans Frag1 :

Bundle b = new Bundle();

b.putStringArray("arrayname that use to retrive in frag2",StringArrayObject);

Frag2.setArguments(b);

dans Frag2 :

Bundle b = getArguments();

String[] stringArray = b.getStringArray("arrayname that passed in frag1");

C'est aussi simple que ça.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X