Question

I ai un FragmentActivity fonctionne parfaitement bien avec un glissement horizontal lisse entre les fragments (identiques). Je me demandais maintenant comment je peux envoyer une variable à des objets Fragment?

Mon apparence de code comme ceci:

    private void initialisePaging() {

    fragments = new Vector<Fragment>();

    for (int i = 0; i < wiList.length; i++) {
        WhiteboardImage tmpWi = wiList[i];

        intent.putExtra("displayNow", tmpWi.getFilename());
        fragments.add(Fragment.instantiate(this, GalleryFragment.class.getName()));
    }

    this.mPagerAdapter = new GalleryPagerAdapter(super.getSupportFragmentManager(), fragments);

    ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
    pager.setAdapter(this.mPagerAdapter);

    // Define which item of the list will be displayed
    pager.setCurrentItem(4);
}

Donc, fondamentalement, dans la boucle for () Je suis en ajoutant plusieurs fois l'objet GalleryFragment au PagerAdapter. Ce que je veux maintenant faire est que chaque GalleryFragment obtient un autre ID (ou une chaîne pour cette matière). Je ne pouvait pas comprendre comment transmettre une valeur différente pour chaque objet GalleryFragment dans cette boucle. En ce moment chaque objet obtient la valeur même.

Merci pour toute aide.

Était-ce utile?

La solution

D'habitude, je fait comme ceci: Si les données sont disponibles à partir de début et de ne pas changer alors je les ai analysés en tant que paramètres de fragment.instantiate. puis dans cette fonction, vous pouvez les mettre en bundle avec .putArguments (...) à votre fragment. Et dans onCreate de votre fragment, vous pouvez récupérer les données avec .getArguments (...)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top