我对列表视图有疑问。我有一个启用了文本过滤器的列表视图。当我单击没有 textfilter 的列表项时,我得到了该位置,并将其提供给下一个活动,该活动根据该位置显示正确的文本。但是当我使用文本过滤器并单击一个项目时,下一个活动会向我显示错误的文本,可能是因为列表项的位置发生了变化。有人有解决这个问题的方法吗,例如不使用位置而是列表项的另一个引用?我到处寻找,但找不到解决方案。
提前致谢
position
您可以直接从 listAdapter获取正确的项目。它仅包含列表中显示的当前项目。
listAdapter .getItem(position);
参考:onItemClick 在可见页面上给出项目的索引/位置...不是列表中项目的实际索引 ..启用 setTextFilterEnabled 时出现问题 .. android
如果有什么问题position
,你可以从id
改为position
。当列表被过滤时,position
inonClick
事件是过滤列表中的新位置而不是旧位置。正常,id
是您的项目在输入数据中的顺序