Domanda

Ho una frammentattività in esecuzione perfettamente fine con uno scivolo orizzontale liscio tra i frammenti (identici). Mi chiedevo ora come posso inviare una variabile agli oggetti frammenti?

Il mio codice sembra così:

    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);
}

Quindi fondamentalmente nel ciclo per () sto aggiungendo più volte l'oggetto GalleryFragment al Pageradapter. Quello che ora voglio fare è che ogni Galleryfragment ottiene un ID diverso (o stringa per quella materia). Non sono riuscito a capire come passare un valore diverso a ciascun oggetto Galleryfragment all'interno di quel loop. Al momento ogni oggetto ottiene lo stesso valore.

Grazie per qualsiasi aiuto.

È stato utile?

Soluzione

Di solito l'ho fatto in questo modo: se i dati sono disponibili dall'inizio e non cambiano, li ho analizzati come parametri di frammento. Quindi in questa funzione puoi metterli come pacchetto con .putarguments (...) al tuo frammento. E nel tuo frammento è possibile recuperare i dati con .GetArguments (...)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top