自定义ListView:与特定项目相关

时间:2014-09-23 09:23:21

标签: android sqlite listview android-listview

我创建了一个自定义列表视图,其中使用了两个文本视图和一个图像视图(显示列表项是否是最喜欢的)。如果有人选择该项目作为收藏,则会出现图像视图,否则将无法显示。 SQLite DB用于存储收藏列表项。并使用此DB填充列表视图。一切正常,但是当我将列表项标记为项目列表中的突出显示时,图像视图将不会出现,但SQLite DB将使用此新项目列表进行更新,以便当我重新加载同一页面时,它将显示为最喜欢的项目。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可能需要提供一些示例代码,但您可以使用onclick重新绘制listview项目,使项目视图无效,或者通过向适配器通知更改可能更容易。

e.g。

@Override 
public void onCreate( Bundle savedInstance )
{
    ...
    MyAdapter myAdapter = new MyAdapter( this );
    ListView listView = ( ListView ) findViewById( R.id.list_view );
    listView.setAdapter( myAdapter );

    listView.setOnItemClickListener( new OnItemClickListener()
    {
        @Override 
        public void onItemClick( AdapterView<?> adapter, View listItemView, 
            int position, long id )
        {
           ...
           adapter.notifyDataSetChanged();
           ...
        }
    }
}

这不是一个完美的解决方案,但会给你一个想法。