我有一个ListView
自定义行。当任何这些行被点击时,ListView的数据被重新生成。我希望列表 在发生这种情况时回滚到顶端。Android ListView滚动到顶部
我最初尝试使用中的每一行的OnClickListener
实现这一setSelection(0)
但没有成功(我相信,因为ListView
失去时,它的数据是无效的滚动位置 - 所以我到 为setSelection调用撤消我仍不很不过了解ListView 如何决定无效后滚动到哪里)。
唯一的工作解决我所知道的是由罗曼盖伊这里给出: http://groups.google.com/group/android-developers/browse_thread/thread/127ca57414035301
它涉及(View.post
)荷兰国际集团在调用_listView.setSelection(0)
。我 发现这表现相当差。 新生成的列表显示其滚动位置不变 并且在滚动回顶端之前存在相当大的延迟。
有没有更好的方法来实现这个功能?
任何帮助将不胜感激。
谢谢!
感谢您的建议,我会尽快给您一个答案。 由于面包屑显示在屏幕的其他位置,因此该列表在原位发生了更改 - 典型的Android UI设计不太适合我的特定UI目标和目标用户。 此外,感谢您的所有帮助 - 我已阅读了一些您的stackoverflow答案和您的CommonsWare文献,他们已经大大帮助我在这个平台上开始! – aakash 2010-05-23 00:25:30
这是做到这一点的方法,没有神奇的方法,只是纯粹的逻辑。谢谢! – 2014-05-01 06:50:16