注意,我的活动不是扩展listactivity;只是扩展activity。
我有一个自定义布局的列表视图,如下所示:
(res/layout/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>
然后我使用一个名为“machines”的arraylist将listview的适配器设置为arrayadapter。
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字段执行类似的操作呢?
最佳答案
使用ArrayAdapter
,您需要覆盖getView()
,并自己完成更多的工作。您可以自己对行进行充气(getLayoutInflater().inflate()
)或链接到超类以获取行。然后,在行中找到ImageView
,并根据提供给getView()
的位置参数设置其图像。返回结果行。
Here's a free excerpt从我的一本书中可以找到。