石之审判 2015-05-29 07:24 采纳率: 100%
浏览 2052

C# ListView选中问题求助

如图,有一个ListView,CheckBoxes已经开启了。
图片说明

如上图所示,已经选中了几条记录,当我点击选中的复选框(任意一个)的时候,所有的复选框都会取消选择。
经断点调试发现,listView1_ItemChecked 事件会被执行多次,直到所有复选框取消选择为止。
里面的代码只有一句话:

 private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            e.Item.Selected = e.Item.Checked;
        }

很奇怪啊,为什么会执行多次呢,怎么解决呢?

  • 写回答

2条回答 默认 最新

  • HandZHH 2015-05-29 09:01
    关注

    如果这个方法在adapter的getView方法中被无限制的调用,就会出现这种情况。解决方法就是为list集合数据对象设置一个boolean属性,然后在listview的onItemClick监听中改变对应position的数据对象的boolean属性,然后通知adapter刷新。

    评论

报告相同问题?