调用setSelection()后,ListView不再对onclick做出反应

时间:2011-01-02 18:19:02

标签: android listview android-listview

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()

1 个答案:

答案 0 :(得分:1)

我无法重现。在onItemClick()之后调用setSelection。尝试通过创建再现的测试用例来解决问题。如果你成功了,我认为你应该向android提交一个bug。