【问题标题】:Getting all Listview checked Indexes获取所有 Listview 检查索引
【发布时间】:2015-07-02 23:35:26
【问题描述】:

这是这个问题的后续问题:

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);
}

有没有办法做这样的事情?

【问题讨论】:

标签: android listview android-listview


【解决方案1】:

如果存在这样的方法来返回一个检查项数组,它可能会使用更少的代码,但该方法可能会使用与仅迭代自己相同的时间复杂度。

【讨论】:

  • 不一定......他们可能会在检查和取消选中列表项时维护一个列表。我可以自己做,但只是想知道他们是否已经实现了类似的东西。
【解决方案2】:

按照文档中的说明尝试getCheckedItemIds

返回已检查项 ID 的集合。

为使其正常工作,在适配器getItemId 中使其返回项目的位置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    相关资源
    最近更新 更多