我开始使用 Android LayoutInflater,我需要一些帮助。
我有一个 ListActivity,它使用以下 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>
这个 ListView 填充了一个 ArrayAdapter,它通过像这样膨胀另一个 XML 来生成每一行:
<?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