我有一个活动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.
有人可以建议我使用正确的解决方案来避免杀死父母活动吗?
答案 0 :(得分:1)
这是一个选项,但我不知道它是否适合您的需求,如果您将活动C的主题设置为对话框,您的活动A将不会调用onStop(),因为活动将保持活动直到您可以看到任何部分它...
答案 1 :(得分:0)
你的问题不是onStop
,而是父活动停止了(如果你明白我的意思)。
把它放在你的清单中:
<activity
android:name=".MainActivity"
..
android:launchMode="singleTask"
即。设置启动模式(还有singleTop
)。父活动仍然存在,然后让onStop做你想做的事。