Android ListView如何滚动到顶部?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (57)

我有一个ListView自定义行。当单击这些行中的任何一行时,将重新生成ListView的数据。当发生这种情况时,我想让列表滚动回顶部。

我最初尝试setSelection(0)在每一行中使用OnClickListener 来实现这一点,但不成功(我相信因为ListView 当它的数据失效时丢失了滚动位置 - 所以我对setSelection的调用被取消了。我仍然不明白ListView如何决定滚动到哪里尽管失效后)。

它涉及(View.post)呼叫_listView.setSelection(0)。我发现这表现很差。新生成的列表显示其滚动位置不变,并且在滚动返回顶部之前存在相当大的延迟。

提问于
用户回答回答于

我尝试了很多,但这行代码是可以的:

list.smoothScrollToPosition(0);
用户回答回答于

你可以调用这个:listView.setSelectionAfterHeaderView();滚动到顶部。

扫码关注云+社区

领取腾讯云代金券