请注意,我的活动不是扩展ListActivity;只是活动。
我有一个带有自定义布局的列表视图,如下所示:
(RES /布局/ list_item.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="wrap_content"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/icon"
android:layout_width="30dip"
android:paddingTop="15dip"
android:layout_height="wrap_content"
android:src="@drawable/icon_default"
/>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:gravity="center_vertical"
android:paddingLeft="6dip"
android:minHeight="?android:attr/listPreferredItemHeight"
android:textColor="#ffffff"
/>
</LinearLayout>
然后我使用ArrayList将ListView的适配器设置为ArrayAdapter,这里称为'machines'。
ListView rooms = (ListView)findViewById(R.id.machines);
ArrayAdapter<String> aa = new ArrayAdapter<String>(getApplicationContext(), R.layout.list_item, android.R.id.text1, machines);
rooms.setAdapter(aa);
我将如何为ImageView字段做类似的事情?
答案 0 :(得分:3)
使用ArrayAdapter
,您需要覆盖getView()
并自行完成更多工作。你可以自己给行充气(g etLayoutInflater().inflate()
)或链到超类来获取你的行。然后,找到行中的ImageView
并根据提供给getView()
的位置参数设置其图像。返回结果行。
Here's a free excerpt来自我的一本书,其中涵盖了大部分内容。
答案 1 :(得分:0)
或者您可以使用基本适配器
创建自定义列表视图