Android ListView ItemClick事件

时间:2014-11-19 02:50:17

标签: c# android listview xamarin

我创建了标准的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的答案。

但它并没有完全解决我的问题 它只会更改列表中最后一个项目的图像,无论我点击哪个项目 如何确保它针对该特定项目执行此操作?

再次感谢你。

1 个答案:

答案 0 :(得分:1)

尝试MyMultiSelectListAdapter.notifyDataSetChanged()它会刷新列表视图