2012-03-15 10 views
5

Sono di fronte a un problema con il pageradapter e frammenti.Duplicate ID with Fragment on PagerAdapter page

ho un PagerAdapter e in ogni pagina voglio mettere un frammento. sul layout xml della pagina, io uso questo codice per aggiungere il frammento:

<fragment android:id="@+id/fragment1" 
    android:name="de.worldcup.android.ui.fragments.GroupTableFragment" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 

quando ho eseguito l'applicazione, si blocca quando tenta di instanciate la seconda pagina del PagerAdapter (2a volta il metodo instantiateItem è chiamato) sulla linea, quando provo a gonfiare il layout xml della pagina.

View v = inflater.inflate(R.layout.group_activity_item, null); 

l'errore:

03-15 21:57:34.795: E/AndroidRuntime(6257): Caused by: java.lang.IllegalArgumentException: Binary XML file line #20: Duplicate id 0x7f050043, tag null, or parent id 0x0 with another fragment for de.worldcup.android.ui.fragments.GroupTableFragment 

ho guardato l'id 0x7f050043 -> è la @ + id/id fragment1.

qualche idea su come risolvere questo problema?

grazie :)

risposta

0

Ho avuto lo stesso problema. Non penso che non possiamo avere 2 frammenti con lo stesso id in una pagina.

Cosa faccio (ma penso che non sia la soluzione migliore, ma funziona): Creare un layout per ogni frammento con un ID diverso.

3

Di fronte allo stesso problema, ho trovato questo: "Nota: non è possibile gonfiare un layout in un frammento quando tale layout include un. I frammenti nidificati sono supportati solo se aggiunti a un frammento in modo dinamico." In the documentation. In breve, crea l'architettura del tuo frammento in modo dinamico per risolvere il problema.

Problemi correlati