Android:ViewBinder - 修改大于Cursor内容的ListView列

时间:2014-07-01 08:09:50

标签: android listview cursor simplecursoradapter

我有一个ListView,显示来自SQLite数据库的3个值(第1,2和3列)。在这些值的右边,我想放一些ImageButtons。我的问题是 - 如何修改第4列及以上的内容?

我已经覆盖了setViewValue(),但是只调用Cursor中的列(我期望的那种)。如何修改第4列及更高列的特定行中显示的内容?我会以某种方式覆盖getView()方法吗?如果我正在使用SimpleCursorAdapter - 这是否意味着我应该创建SimpleCursorAdapter的子类然后重写getView()方法?

1 个答案:

答案 0 :(得分:0)

我就这样做了:

  public class CustomViewBinder implements ViewBinder
  {
    @Override
    public boolean setViewValue( View view, Cursor cursor, int columnIndex )
    {
      if( columnIndex == 1 )
      {
        View vParent = (View) view.getParent();

        ImageView ivPlaylist = (ImageView) vParent.findViewById( R.id.ibAddPlaylist );

        if( ivPlaylist != null )
        {  
          ivPlaylist.setImageResource( R.drawable.clipboard30x30purple );
        }