如何在不丢失数据的情况下返回我的父活动?

Jos*_*len 8 android android-manifest android-layout android-fragments android-studio

我有一个activity带有“子活动”的A,它是activityB。当我创建一个活动时,就像在 android 中的这种情况一样,我选择活动 B,他的父母应该是活动 A。

所以,当我开始我的申请,我有一个iconappbar在活动B,在那里我可以去活动A.

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

现在,在活动 B 中,当我单击“返回”图标时,我将返回到本例活动 A 中的父活动,并且所有操作的数据都“离开”,因为屏幕将重新启动。

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

所以我的问题是,有没有办法通过单击活动 B 中的后退图标返回活动 A,而不会重新启动屏幕。因为这个图标是自动添加的,当我说的时候,哪个activity必须是父类。我想,我可以用这个图标返回,但不能重新启动屏幕,而是继续,我“最后”一次。

我向您展示了活动 B 的清单文件的一部分:

<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>
Run Code Online (Sandbox Code Playgroud)

在这里您可以看到活动 B 中的“返回图标”。

在此处输入图片说明

如需帮助,我将非常感谢,我是 android 新手,遇到困难。

非常感谢

小智 14

在活动 A 的清单中添加此属性:

android:launchMode="singleTask"

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

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

希望这可以帮助。

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