【问题标题】:Prevent NestedScrollView scrolls to top automatically防止 NestedScrollView 自动滚动到顶部
【发布时间】:2016-07-18 13:48:03
【问题描述】:
我的片段中有ListView 内的NestedScrollView(不想使用RecycleListView)。列出 onCreate 中的适配器初始化,并且当应用程序从其他片段返回片段时不会重新创建。但是我的 NestedScrollView 然后滚动到顶部(我可以阻止这种情况吗?)。如果没有NestedScrollView,我的 ListView 将保持在同一位置。
【问题讨论】:
标签:
android
android-support-design
nestedscrollview
【解决方案1】:
您应该在 Fragment 上的 onPause() 方法中保留列表状态(将其保存到 Bundle),然后在 onResume() 中读取并设置它。只需创建一些常量键,保存然后阅读:-)
您想要保存的值很可能是getScrollY()。然后,您将需要使用 scrollTo(int x, int y) 恢复它,其中 x=0 和 y=savedValue。
另外,您确实想使用RecyclerView :-) 它真的很酷,并且与NestedScrollView 和CoordinatorLayout 配合得非常好。此外,一旦掌握了它,它就比ListView 更容易和更快地实现。它也非常轻巧。我曾经见过它从火中救了一只小狗。 RecyclerView 是大男人! :-D
【解决方案2】:
从 NestedScrollView 布局中移除 @string/appbar_scrolling_view_behavior。