我有一个ListView
自定义行。单击任何这些行时,将重新生成ListView的数据。发生这种情况时,我希望列表返回顶部。
我最初尝试setSelection(0)
在每行中使用OnClickListener
来实现此目的,但没有成功(我相信是因为ListView
当数据无效时,丢失了其滚动位置-因此我对setSelection的调用被撤消。我仍然不知道ListView如何决定滚动到的位置无效后)。
我知道的唯一可行的解决方案是Romain Guy在这里提供的:http : //groups.google.com/group/android-developers/browse_thread/thread/127ca57414035301
它涉及View.post
对的调用_listView.setSelection(0)
。我发现它的效果很差。将显示新生成的列表,其滚动位置保持不变,并且滚动回顶部之前会有相当大的延迟。
有没有更好的方法来实现此功能?
任何帮助将非常感激。
谢谢!