gpt4 book ai didi

android - 使用 RecyclerView 向上导航

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:44 25 4
gpt4 key购买 nike

我想就我正在尝试解决的Android Up导航问题的解决方法征求您的意见。我有一个带有 RecycleView 的 Activity (MainActivity),显示了一个可滚动的项目列表,是从 API 获取的。每个项目都有一个 onclick 监听器,它会打开项目详细信息 Activity ,如下所示:

Intent intent = new Intent(context, DetailActivity.class);
intent.putExtra("item", item);
context.startActivity(intent);

DetailActivity 有向上按钮,用户可以在该按钮返回到上一个 Activity 。这是此 Activity 的 list :

<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>

这就是问题所在:当我导航到父 Activity 时,滚动列表被重置并位于顶部。如果我使用设备上的后退按钮,列表会保留并且滚动位置保持不变,但当我单击向上按钮时不会...

我意识到,为了恢复滚动列表,我必须将已加载项目的列表保存在某处,也许将它传递给 DetailActivity 并返回,但我不确定这是最好的解决方案..是否有更好、更优雅、更原生的解决方案来保留滚动项和滚动位置?我已经通读了 Android documentation关于向上导航,但找不到答案...

最佳答案

如果按“BACK”对您的应用来说看起来不错,那么只需捕捉“UP”事件:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {

case android.R.id.home:
// simulate the "BACK" key
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}

关于android - 使用 RecyclerView 向上导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46896770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com