【发布时间】:2014-09-20 12:56:58
【问题描述】:
我是 Android 开发新手,请原谅我的无知。
我有两个 activties,A + B。如果从 A->B 去,A 保持保留,它不会被破坏。当我从 B->A 返回时(使用后退按钮),活动 A 被销毁并再次创建,然后活动 B 被销毁。
我一直在寻找一种方法来保留活动 A,所以当我返回 B->A 时,A 会像原来一样被保留。我可以通过设置活动 A launchMode 来实现这一点,就像android:launchMode="singleTop"
谁能解释一下最初的行为?或者至少引导我阅读一些材料?为什么当我按回 B 时 A 被破坏了?
如果我想以编程方式实现android:launchMode="singleTop" 的效果,我应该在B 中捕获“Back”调用并使用自己的标志创建自己的Intent?
将launchMode设置为singleTop是实现我想要的正确方法吗?
【问题讨论】:
-
请发布您的清单。您看到的行为不正常,也不标准。发生了一些奇怪的事情。正常行为是:在 ActivityB 中按 BACK 将破坏 Activity B 并恢复现有的 ActivityA 实例。
-
@DavidWasser Manifest:pastebin.com/Rx74rZ28,此清单的行为,在 ActivityB = ActivityA Destroyed -> ActivityA Created -> ActivityB Destroyed 中单击返回。如果我将 android:launchMode="singleTop" 添加到 ActivityA(清单中的'Main'),则行为 = ActivityA 会恢复,而 ActivityB 会被销毁。
-
清单看起来不错。您的 Activity 类是从 Android
Activity派生的还是使用了某些框架?
标签: android android-intent android-activity activity-lifecycle