这是这个问题的后续问题:
Retrieving the selected items from a multi-select ListView
我正在ListView
使用模式CHOICE_MODE_MULTIPLE_MODAL
。
有没有办法获取所有已检查项目的索引?在我上面发布的问题中,有一个建议使用方法getCheckedItemPositions()
,但我不想迭代整个列表并检查它是否返回true所以这不是我需要的。我想做这样的事情(伪代码):
int[] checkedPositions = list.getCheckedIndexes();
for(int index : checkedPositions)
{
list.remove(index);
}
有没有办法做类似的事情?
答案 0 :(得分:0)
如果存在这样的方法来返回已检查项的数组,它可能会使用更少的代码,但该方法可能会使用相同的时间复杂度,只需迭代自己。
答案 1 :(得分:0)
尝试getCheckedItemIds
,如文档中所述:
返回已检查项ID的集合。
要使其正常工作,请在适配器getItemId
中使其返回项目的位置