如何取消setItemChecked()选中的项目?
我使用带有 MULTIPLE_CHOICE
的 ListView 并使用 setItemChecked()
方法取回所选项目。
它工作正常,因为我可以看到以前检查的项目。 问题是,如果我取消选中其中一个之前选中的项目,然后通过custList.getCheckItemIds()
获取选中项目的列表 该数组仍然有我未选中的项目。
谁能告诉我这是否应该发生或者我错过了什么?
I am using a ListView with MULTIPLE_CHOICE
and to get the selected items back i am using setItemChecked()
method.
It works fine as i am able to see the previously checked items.
The issue is that if i uncheck one of the previously checked items, and then get the list of checked items by custList.getCheckItemIds()
the array still has the Item that i unchecked.
Can anyone please tell me if that is supposed to happen or am i missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在这里,您必须调用 setOnCheckedChangeListener 并且必须管理此侦听器块内的代码。
Here you have to call setOnCheckedChangeListener and you have to manage the code inside this listener block.
如果您只是想找出在任何给定时间检查了哪些项目,您可以从 ListView 获取 SparseBooleanArray,并使用 for 循环对其进行迭代。例如:
If you are simply trying to find out what items are checked at any given time, you can get a SparseBooleanArray from the ListView, and iterate over it with a for loop. For example:
这:
不起作用。
按照 多个联系人选择器列表 [getCheckedItemPositions()]
应该没问题。
this:
doens't work.
follow Multiple Contact Picker List [getCheckedItemPositions()]
should be OK.