我有一个主要活动,通过
调用一个孩子Intent I = new Intent(this, Child.class);
startActivityForResult(I, 0);
但是,只要儿童变得可见,主要活动就会获得 onStop ,并在触发 onDestroy 方法之后立即执行。只要我在儿童活动中调用完成()或按后退按钮,儿童活动就会关闭,主屏幕会显示(而不是主要活动。)
如何防止主要活动被破坏? :\
答案 0 :(得分:1)
如果您启动了期望返回数据的子Activity,则可能需要使用startActivityforResult
。
您可能需要查看此问题: Child Activity in Android,因为它似乎是同一个问题。
编辑:
至于此处发生的事情,您可以将代码置于onStop()
和/或onDestroy()
方法中进行调查 - 至少调用isFinishing()
以检查活动被销毁的原因。
您还应该使用来自主机的adb logcat来检查logcat,以防它拥有更多信息 - 并且可能使用Log.d()
(结果也会进入logcat)而不是toast,以确保您不会错过它们
答案 1 :(得分:0)
我使用Dialog而不是Activity,一切运行良好,所以我就这样离开了。
答案 2 :(得分:0)
检查androidmanifest nohistory = true并使操作系统在结果之前销毁活动。这可能是你遇到问题的原因之一。