Android如何在列表视图中更改特定条件的图像

时间:2013-01-24 08:48:01

标签: android listview

我有listview。我已使用包含textViewimageview的布局文件来阻止该列表视图。 Textviewarraylist填充array-adapter。我使用了getFilter(),因为它直接向我提供了Cursor,而{i}又用来过滤列表。

我正在运行数据库查询,它返回一个项目列表。我将所有项目存储在Cursor crs = actSl.execSQL(sqlQuery); if (crs != null && crs.getCount() > 0) { crs.moveToFirst(); if (crs.getCount() > 0) { do { for(String favItem:favouritesList){ if (favItem.contains(crs.getString(0))) { } } } while (crs.moveToNext()); } } 中。现在我正在遍历游标并检查数据库中的项是否包含在arraylist中。

如果有匹配,我想切换图像。我会这样做。

{{1}}

2 个答案:

答案 0 :(得分:0)

如果您不想更改数据结构,则可以创建一个新的数组(或arraylist),其大小与您的favouritesList一样,可以保存图像的状态。 然后,您可以修改这些值并调用yourListAdapter.notifyItemsChanged()

哦,是的,在你的适配器内的getView中你必须(当然)读取布尔值。

请注意,您无法访问适配器外部列表的单独视图,并且非常不鼓励持有对它们的引用。

答案 1 :(得分:0)

请按照以下步骤操作:

  1. 最初从arrayList设置imageViews(将arrayList传递给customAdapter)

  2. 当必须更改imageView时,只需更改arrayList()即更新它。

  3. 现在使用

    通知适配器

    customListAdapter.notifyItemsChanged();

  4. 这将解决问题。请随时再提出疑问