Pregunta

Tengo una fragmentación de carrera perfectamente fina con un deslizamiento horizontal suave entre los fragmentos (idénticos). Ahora me preguntaba cómo puedo enviar una variable a los objetos de fragmentos.

Mi código se ve así:

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

Entonces, básicamente, en el bucle for () estoy agregando varias veces el objeto GalleryFragment al PagerAdapter. Lo que ahora quiero hacer es que cada fragmento de Gallery obtenga una identificación diferente (o cadena para el caso). No pude descubrir cómo pasar un valor diferente a cada objeto GalleryFragment dentro de ese bucle. Por el momento, cada objeto obtiene el mismo valor.

Gracias por cualquier ayuda.

¿Fue útil?

Solución

Por lo general, lo hice así: si los datos están disponibles desde el principio y no cambié, los analicé como parámetros de fragmento. Instanciar. Luego, en esta función, puede ponerlos como un paquete con .putarguments (...) a su fragmento. Y en el OnCreate de su fragmento puede recuperar los datos con .getArGuments (...)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top