我对listview有疑问。我有一个启用了textfilter的列表视图。当我点击没有textfilter的listitem时,我得到了这个位置,然后我把它交给下一个根据位置显示正确文本的活动。但是当我使用文本过滤器并单击一个项目时,下一个活动会向我显示错误的文本,可能是因为列表项的位置发生了变化。有人有解决这个问题的方法,例如不使用位置而是列表项的另一个引用?我到处寻找但找不到解决方案。
提前致谢
答案 0 :(得分:0)
您可以直接从listAdapter获取position
的正确项目。它仅包含列表中显示的当前项目。
listAdapter .getItem(position);
答案 1 :(得分:0)
如果position
出现问题,您可以从id
更改为position
。过滤列表时,onClick
事件中的position
是过滤列表中的新位置,而不是旧位置。正常,id
是输入数据中项目的顺序