如何在创建子活动时避免父活动转到onStop()?

时间:2013-11-28 15:34:14

标签: android android-ndk

我有一个活动A,它是一个NativeActivity。它创造了活动B. 现在,在我的设置中,我将此主题应用于活动B.

  <style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">false</item>
    <item name="android:backgroundDimEnabled">false</item>
  </style>

因此,当我创建透明的活动B时,它不会杀死或使活动A转到onStop()(失焦)。

现在我开始添加代码,其中活动B创建活动C.发生的事情是因为这样,活动A将转到onStop()(这是我不想要的!)。避免这种情况发生的唯一方法是将相同的透明主题应用于活动C.

有人可以建议我使用正确的解决方案来避免杀死父母活动吗?

2 个答案:

答案 0 :(得分:1)

这是一个选项,但我不知道它是否适合您的需求,如果您将活动C的主题设置为对话框,您的活动A将不会调用onStop(),因为活动将保持活动直到您可以看到任何部分它...

答案 1 :(得分:0)

你的问题不是onStop,而是父活动停止了(如果你明白我的意思)。

把它放在你的清单中:

<activity
        android:name=".MainActivity"
        ..
        android:launchMode="singleTask"

即。设置启动模式(还有singleTop)。父活动仍然存在,然后让onStop做你想做的事。