我有一个xml文件名“ list_row.xml”,它已加载到listView中:

<?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="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/icon_one"
/>
<TextView
    android:id="@+id/label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
/>




我使用一个函数从表中加载数据并填写“ list_row.xml”文件

private void fillData() {
    Cursor c = mDbHelper.fetchAllNotes();
    String[] from = new String[]{ ListDbAdapter.KEY_ROWID,
            ListDbAdapter.KEY_ICON, ListDbAdapter.KEY_LABEL };
    int[] to = new int[]{ R.id.id, R.id.icon, R.id.label };
    SimpleCursorAdapter adapter =
        new SimpleCursorAdapter(this, R.layout.list_row, c, from, to );
    setListAdapter(adapter);
}


我的问题是如何检查图标值以在列表视图上设置图标显示(我的数据必须为icon:icon_one,icon_two)。有人可以帮助我提供代码吗?

最佳答案

documentation


  绑定分为两个阶段。第一,
  如果SimpleCursorAdapter.ViewBinder是
  可用
  setViewValue(android.view.View,
  android.database.Cursor,int)是
  调用。如果返回的值是
  是的,绑定已经发生。如果
  返回值是false且视图
  要绑定的是TextView,
  setViewText(TextView,String)是
  调用。如果返回的值是
  假,绑定的视图是
  ImageView,setViewImage(ImageView,
  字符串)被调用。


因此,重写setViewImage()并将您的图标与ImageView手动关联。或者,覆盖newView()bindView()并手动绑定整个行。

10-07 19:21
查看更多