Domanda

Sto iniziando a lavorare con il layoutinflater Android e ho bisogno di aiuto.

Ho una listeattività che utilizza un layout definito nel seguente XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
    <ListView
        android:id="@+id/android:list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />
</LinearLayout>
.

Questo elenco viene riempito con un arrayadapter che genera ogni riga gonfiando un altro XML come questo:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="6dip"
    >
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="fill_parent"
        >
        <TextView
            android:id="@+id/item_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center_vertical"
            android:textSize="20dip"
            android:textColor="#FFF"
        />
        <ImageView
            android:id="@+id/item_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginRight="6dip"
            android:src="@drawable/example_icon"
        />
    </LinearLayout>
</LinearLayout>
.

Questo funziona bene, ma ora voglio mostrare un numero variabile di icone per ciascun elemento (quindi, ogni riga della lista di ListView potrebbe avere un numero diverso di imageviews sotto il testo TextView).

Forse devo definire un altro XML per l'elenco delle icone e in qualche modo costruisci la lista dei layout nidificati?Non so qual è il modo migliore per farlo.Qualche suggerimento?

Grazie!

Modifica: questo è un esempio di ciò che sto cercando di fare: http://tinipic.com/r/ 2S9YNIW / 7

È stato utile?

Soluzione

dovrai solo includere un numero di immagini nel layout XML per ogni riga e impostare la visibilità di questi su GONE quando non ne hai più bisogno (è possibile inserire un'immagine in un file XML di un layout e quindi includeQuesto 3 volte sul file di layout della riga).

Potresti essere in grado di farlo gonfando il file XML layout dell'immagine più volte di cui hai bisogno per ogni riga, aggiungendolo alla vista della riga (ma questo dà problemi con il riciclaggio se hai aggiunto solo 2 immagini la prima volta ela riga successiva ha bisogno 3);Ma da quello che ricordo di non poter aggiungere contenuti gonfiati a una fila adattatore o ottieni un'eccezione (non del tutto sicura, quindi provalo se in dubbio).

Altri suggerimenti

In una particolare riga è possibile posizionare le viste dell'immagine sotto la vista del testo di quella riga e quando non è necessario mostrarle, è possibile nasconderlo impostando la visibilità su Gone .

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