我有listview
。我已使用包含textView
和imageview
的布局文件来阻止该列表视图。
Textview
为arraylist
填充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}}
答案 0 :(得分:0)
如果您不想更改数据结构,则可以创建一个新的数组(或arraylist),其大小与您的favouritesList一样,可以保存图像的状态。 然后,您可以修改这些值并调用yourListAdapter.notifyItemsChanged()
哦,是的,在你的适配器内的getView中你必须(当然)读取布尔值。
请注意,您无法访问适配器外部列表的单独视图,并且非常不鼓励持有对它们的引用。
答案 1 :(得分:0)
请按照以下步骤操作:
最初从arrayList设置imageViews(将arrayList传递给customAdapter)
当必须更改imageView时,只需更改arrayList()即更新它。
现在使用
通知适配器customListAdapter.notifyItemsChanged();
这将解决问题。请随时再提出疑问