我创建了标准的Android Dialog
,里面有ListView
。
我还为此ListView
创建了适配器,我正在传递它。
this.MyMultiSelectListView.Adapter = MyMultiSelectListAdapter;
一切正常。我可以看到列表和所有内容。
但是此布局上有一个图像,我想在单击该项目时更改图像。 所以这就是我的尝试:
this.MyMultiSelectListView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => {
var clickedItem = MyMultiSelectListAdapter.GetItem(e.Position);
if(clickedItem.Selected == false) {
clickedItem.Selected = true;
MyMultiSelectListAdapter.imgView.SetBackgroundResource(Resource.Drawable.true_image);
} else {
clickedItem.Selected = false;
MyMultiSelectListAdapter.imgView.SetBackgroundResource(Resource.Drawable.false_image);
}
};
我还尝试在设置图像后重新加载它,但似乎没有做任何事情。
我在这里缺少什么?
感谢您的时间。
修改
图片更改问题已由SetBackgroundResource
解决为SetImageDrawable
,并在点击事件结束时添加了@MâyVàBão的答案。
但它并没有完全解决我的问题 它只会更改列表中最后一个项目的图像,无论我点击哪个项目 如何确保它针对该特定项目执行此操作?
再次感谢你。
答案 0 :(得分:1)
尝试MyMultiSelectListAdapter.notifyDataSetChanged()
它会刷新列表视图