【发布时间】:2011-05-12 08:56:54
【问题描述】:
我开始使用 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
【问题讨论】:
-
您能否提供某种模型或类似的东西,您究竟想要实现什么?我们会更容易理解。
-
是的,here is a sample 由代码生成。我想对 XML 布局做同样的事情。
标签: android android-layout android-xml android-inflate