【发布时间】:2017-10-23 19:09:03
【问题描述】:
我想就如何解决我正在尝试解决的 Android 向上导航问题询问您的意见。 我有一个带有 RecycleView 的活动(MainActivity),它显示了一个可滚动的项目列表,从 API 中获取。每个项目都有一个 onclick 监听器,它会打开项目详细信息活动,如下所示:
Intent intent = new Intent(context, DetailActivity.class);
intent.putExtra("item", item);
context.startActivity(intent);
DetailActivity 有向上按钮,用户可以在此处返回上一个活动。这是此活动的清单:
<activity
android:name=".DetailActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.Base"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
问题是:当我导航到父活动时,滚动列表被重置并位于顶部。如果我使用设备上的后退按钮,则会保留列表并保留滚动位置,但当我单击向上按钮时不会...
我意识到,为了恢复滚动列表,我必须将已加载项目的列表保留在某处,也许将其传递给 DetailActivity 并返回,但我不确定这是最好的解决方案.. 是否有更好、更优雅和原生的解决方案来保留滚动项和滚动位置?我已经阅读了Android documentation 关于向上导航的内容,但找不到答案...
【问题讨论】:
标签: android android-scrollview up-navigation