android - 按下 Activity 操作栏后退按钮时如何转到上一个选定的选项卡

标签 android android-fragments android-actionbar

我在 MainActivity 中有六个选项卡,第二个选项卡有一个 ListView ,当用户按下 ListView 项时,它会打开一个带有操作栏的新 Activity ,因此,当用户按下第二个 Activity 的后退按钮时,我想要转到主 Activity 的上一个选项卡(第二个选项卡),但它加载第一个选项卡(主页选项卡)。

我该如何解决这个问题?

最佳答案

使用向上导航返回父 Activity 会重新创建父 Activity 。重新创建父 Activity 时,您会丢失所选的选项卡。与其保存选定的选项卡,不如不重新创建父 Activity 更容易。这可以通过将以下行添加到 AndroidManifest 文件的父 Activity 部分来完成。

android:launchMode="singleTop"

这将防止重新创建父级,因此您之前选择的选项卡仍将处于相同状态。

例如,如果 MainActivity 是带有选项卡的父级,那么 list 将如下所示:

<activity android:name=".MainActivity"
          android:launchMode="singleTop">
    ...
</activity>

另请参阅:

关于android - 按下 Activity 操作栏后退按钮时如何转到上一个选定的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25029826/

相关文章:

android - Android N网络安全配置自签名证书用什么?

android - ListView 返回其 fragment 后变为空

抽屉导航 fragment 中的 Android 操作栏选项卡

java - 如果仅在顶部,如何限制此滑动刷新?

android - ActionBar获取当前图标,findviewbyid

android - ActionBarCompat 支持库 android :selectableItemBackground not working

Android 导出数据库到 SD 卡 - 空文件

android - 传感器融合 : Which sensors are required for finding Rotation Vector?

复选框的 Android 可见性问题

java - Android - 无法通过 fragment 中的 Intent 启动 Activity