在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/