【发布时间】:2017-11-08 11:29:37
【问题描述】:
我的应用程序围绕着一个 HomeActivity,它在底部包含 4 个选项卡。这些选项卡中的每一个都是一个片段,它们都是从一开始就添加(而不是替换)的,并且在点击相应的选项卡时它们会被隐藏/显示。
我的问题是,每当我更改选项卡时,我的滚动状态都会丢失。显示该问题的每个片段都使用android.support.v4.widget.NestedScrollView(参见下面的示例)。
注意:我使用 RecyclerView 或 ListView 的片段出于某种原因保持滚动状态。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/include_appbar_title" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Content -->
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
我阅读了几篇关于保存实例状态的帖子(例如this one、that one),他们的解决方案要么在我的场景中不起作用,要么在我有 4-12 个不同的片段时不实用我需要修改以使其正常工作。
让嵌套滚动视图在片段更改时保持其滚动位置的最佳方法是什么?
【问题讨论】:
标签: android savestate android-nestedscrollview