android - 如何在不丢失数据的情况下返回我的父 Activity ?

标签 android android-layout android-studio android-fragments android-manifest

我有一个 activity A 和一个“子 Activity ”,它是 activity B。 当我创建一个 Activity 时,就像在这种情况下在 android 中,我选择 Activity B,他的 parent 应该是 Activity A。

因此,当我启动我的应用程序时,我可以在 Activity B 的 appbar 中有一个 icon,我可以从那里转到 Activity A。

在我的例子中,用户例如 edit-text 并操作 Activity A 中的一些变量并使用 Intent 调用 Activity B。

现在,在 Activity B 中,当我单击“后退”图标时,我将返回父 Activity,在这种情况下,Activity A 并且所有操纵的数据都“离开”,因为屏幕将重新启动。

但是当我不点击 Activity B中的图标而是点击我手机上的“返回”时,我会回到 Activity A并且所有被操纵的数据仍然存在。

所以我的问题是,有没有办法通过单击 Activity B 中的后退图标返回到 Activity A,否则屏幕将重新启动。因为这个图标是自动添加的,当我说,哪个 Activity 必须是父类。我想,我可以返回这个图标,但不是重新启动屏幕,而是继续,我是“上次”的地方。

我向您展示了 Activity B 的 list 文件的一部分:

<activity
            android:name=".strassenfuehrer_screen.VideoPlayerHandlungsleitfadenStrassenfuehrerActivity"
            android:label="Straßenführer  >  Handlungsleitfaden  >  VideoPlayer"
            android:parentActivityName=".strassenfuehrer_screen.MitHandlungsleitfadenStrassenfuehrerScreenActivity">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="de.derdoenerdon.ressourcencockpit.strassenfuehrer_screen.MitHandlungsleitfadenStrassenfuehrerScreenActivity" />
        </activity>

这里可以看到activity B中的“后退图标”。

enter image description here

对于帮助,我将非常感激,我是 android 的新手并且在使用它时遇到困难。

非常感谢

最佳答案

在 Activity A 的 list 中添加此属性:

android:launchMode="singleTask"

这应该可以解决您的问题。

这确保了 BackStack 中只有一个 Activity A 实例。因此,每个任务仅创建一次 Activity A。

希望这对您有所帮助。

更多信息https://developer.android.com/guide/components/activities/tasks-and-back-stack

关于android - 如何在不丢失数据的情况下返回我的父 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50076724/

相关文章:

java - 从 inputStream 中读取字节的 Int 值

Java 泛型——这个语法有什么用?

java - 获取从 llistview 中选择的项目,其中包含来自 Android Activity 的多个数据

android - Firebase - 如何使用将在 firebase 测试实验室上运行的命令行运行特定的 Android UI 测试类?

android - 为什么 BufferedInputStream.read() 在 Android Nougat 用于返回 0 时返回 -1?

java - 如何将可绘制文件夹中的图像设置为布局而不是字符串 url

android - 在 GridView 上突出显示所选项目

java - 如何在启动屏幕时加载 Activity

java - 添加discord4j库后Gradle错误

git - gradle找不到git.exe