0

Android LayoutInflater を使い始めたので、助けが必要です。

次の XML で定義されたレイアウトを使用する ListActivity があります。

<?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>

この ListView には、次のように別の XML をインフレートして各行を生成する ArrayAdapter が含まれています。

<?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>

これは正常に機能していますが、今はアイテムごとに可変数のアイコンを表示したいと考えています (そのため、ListView の各行は、TextView の下に異なる数の ImageView を持つことができます)。

アイコンのリスト用に別の XML を定義し、入れ子になったレイアウトから ListView を構築する必要があるのではないでしょうか? これを行うためのより良い方法はわかりません。助言がありますか?

ありがとうございました!

編集: これは、私がやろうとしていることの例です: http://tinypic.com/r/2s9yniw/7

4

2 に答える 2

0

特定の行では、その行のテキスト ビューの下に画像ビューを配置できます。表示する必要がない場合は、可視性をGONEに設定して非表示にすることができます。

于 2011-05-13T13:22:34.497 に答える
0

各行の XML レイアウトに多数の画像を含め、GONE必要がなくなったときにこれらの可視性を設定する必要があります (1 つのレイアウト XML ファイルに画像を入れてから、includeこれを 3 回、行レイアウト ファイル)。

画像レイアウト XML ファイルを行ごとに必要な回数だけ膨張させてから行ビューに追加することで、これを行うことができる場合があります (ただし、最初と次の行の 2 つの画像のみを追加した場合、リサイクルに問題が生じます)。必要 3); しかし、私が覚えていることから、膨張したコンテンツをアダプター行に追加できないか、例外が発生します (完全にはわからないので、疑わしい場合は試してみてください)。

于 2011-05-12T10:00:19.527 に答える