在Zwitscher我有ListView
,其中显示了许多推文。然后用户可以重新加载时间轴,如果有新的推文,新列表将被加载到列表适配器(加上一些旧的),然后通过
listView.setSelection(x);
其中x
是新加载的推文中最早的推文数。这非常有效。
但遗憾的是,这会“禁用”视图中的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()
答案 0 :(得分:1)
我无法重现。在onItemClick()
之后调用setSelection
。尝试通过创建再现的测试用例来解决问题。如果你成功了,我认为你应该向android提交一个bug。