我有一个带有多项选择项的 ListView,其中一些从一开始就使用
setItemChecked(position, true);
我把它和过滤选项结合起来
setTextFilterEnabled(true)
因此很容易在列表中找到特定的条目。
问题是,当我过滤列表时,条目会在 ListView 中切换位置。以三个条目为例:“A”、“B”和“C”,其中预先检查了“C”(即列表中位置 3 的条目)。当我在键盘上键入“C”时,仅显示“C”条目(如预期的那样)。现在“C”不再被选中,因为该条目已从列表中的选中位置 3 移动到未选中位置 1。
此行为会导致应用中出现一些不太受欢迎的效果。有没有办法“通过过滤移动选择”,即将选中的状态绑定(bind)到条目而不是它在列表中的初始位置?还是我需要寻找一种新方法?
谢谢,
林纳斯
最佳答案
维护所选项目的列表,每当重新填充列表时检查列表中是否存在 id
(不是位置),并将其设置为选中。
关于android - 在 android 中过滤 ListView 时检查了错误的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2487821/