2012-08-04 45 views
0

我有一个关于listview的问题。我有一个启用了textfilter的列表视图。当我点击一个没有textfilter的listitem时,我得到了该位置,然后我将它提交给下一个根据位置显示正确文本的活动。但是,当我使用文本过滤器并单击某个项目时,下一个活动会向我显示错误的文本,可能是因为列表项目的位置发生了变化。有人对此问题有解决方案吗?例如,不是与职位一起工作,而是来自列表项的另一个参考?我到处寻找,但找不到解决方案。Android listview在textfilter时得到列表项的正确位置

在此先感谢

+0

如果您放置更多代码,对我们来说更容易。 – 2012-08-05 12:30:12

回答

0

您可以position从listAdapter直接得到正确的项目。它仅包含列表中显示的当前项目。

listAdapter .getItem(position); 

参考:onItemClick gives index/ position of item on visible page ... not actual index of the item in list ..problem on enabling setTextFilterEnabled .. android

+0

但这就是问题所在。我不想只显示当前显示的项目我想要的所有项目! – Simon 2012-08-04 14:41:17

+0

您可以从listadapter中获取物品,并通过意向附加物将唯一所需的数据发送给其他活动。 – Ronnie 2012-08-04 15:28:59

+0

但是,它会是正确的位置(未过滤列表中的位置)还是显示在已过滤的列表中? – Simon 2012-08-04 15:30:15

0

如果有什么不对的position,你可以改变从idposition。当列表被过滤时,positiononClick事件是过滤列表中的新位置,而不是旧位置。正常,id是您在输入数据中的项目的顺序

+0

id与位置完全相同 – Simon 2012-08-05 09:53:36