Zwitscher中,我有一个显示许多鸣叫的ListView。然后,用户可以重新加载时间轴,如果有新的tweet,则将新列表加载到列表适配器(加上一些旧的)中,然后我通过滚动到列表末尾

listView.setSelection(x);

其中x是新加载的最旧tweet的数量。这很好。
但是不幸的是,这“禁用”了 View 上的onItemClick()onItemLongClick()处理程序。如果我那么(例如通过按钮)致电
listView.setSelection(0);
onItemClick()onItemLongClick()的处理程序再次“启用”。

我已经验证了在调用setSelection(x)之后,仍在listView上设置了处理程序。并且禁用对setSelection(x)的调用也不会“禁用”处理程序。

知道我在做什么错吗?

完整的源代码在这里:https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/TweetListActivity.java和有问题的行在第417行的onPostExecute()

最佳答案

我无法重现。 onItemClick()在任何setSelection之后调用。尝试通过创建可复制的测试用例来找出问题所在。如果成功,我认为您应该向Android提交错误。

关于android - 调用setSelection()后,ListView不再对onclick使用react,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4579754/

10-12 04:13