【问题标题】:ListView no longer reacts to onclick after a call to setSelection()调用 setSelection() 后,ListView 不再对 onclick 做出反应
【发布时间】:2011-01-02 18:19:02
【问题描述】:

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

【问题讨论】:

  • 如何更新我希望它的通知数据集已更改的列表?就像 hack 一样,如果你将 sset selection 设置为 x 然后设置为 0 然后返回 x ,它会起作用吗?

标签: android listview android-listview


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-25
    • 2016-07-30
    • 2016-03-20
    • 2019-05-27
    • 2020-03-13
    • 1970-01-01
    • 2019-08-07
    • 2021-02-18
    相关资源
    最近更新 更多