Android Passer des données d'Activité à Fragment en utilisant Bundle


Exemple

Tous les fragments doivent avoir un constructeur vide (c.-à-d. Une méthode constructeur sans arguments d'entrée). Par conséquent, pour transmettre vos données au fragment en cours de création, vous devez utiliser la méthode setArguments() . Cette méthode obtient un ensemble dans lequel vous stockez vos données et stocke le bundle dans les arguments. Par la suite, cet ensemble peut être récupéré dans les onCreate() et onCreateView() du fragment.

Activité:

 Bundle bundle = new Bundle();
 String myMessage = "Stack Overflow is cool!";
 bundle.putString("message", myMessage );
 FragmentClass fragInfo = new FragmentClass();
 fragInfo.setArguments(bundle);
 transaction.replace(R.id.fragment_single, fragInfo);
 transaction.commit();

Fragment:

 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    String myValue = this.getArguments().getString("message");
    ...
 }