注意,我的活动不是扩展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从我的一本书中可以找到。

10-07 19:22
查看更多