2010-06-18 65 views
0

我有通過防止由於OS被殺害,而啓動子活性

Intent I = new Intent(this, Child.class); 
startActivityForResult(I, 0); 

但只要兒童變得可見的主要活動獲取其調用一個孩子一個主要活動的活動onStop並在此之後onDestroy方法觸發。只要我打電話完成()活動或按後退按鈕,活動關閉和主屏幕顯示(而不是主要活動)。

如何防止主要活動被破壞? :\

+2

我們需要看到更多的代碼,這是不夠的,因爲這樣你的MainActivity不應該被銷燬。 – Machiel 2010-06-18 10:53:48

回答

1

如果您啓動期望返回數據的子Activity,則可能需要使用startActivityforResult

你可能想檢查這個問題:Child Activity in Android,因爲它似乎是同樣的問題。

編輯:

至於這裏發生了什麼,你可以將代碼在onStop()和/或onDestroy()方法研究 - 至少isFinishing()調用檢查爲什麼活動被銷燬。
你也應該使用你主機上的adb logcat來檢查logcat,以防萬一它擁有更多的信息 - 並且可能使用Log.d()(結果也變成logcat)而不是敬酒,以確保你不會錯過它們。

+0

那麼,那個特定的問題是我的:DI只是轉發了後續的一個因爲我不知道這是發生的原因,我想做一個乾淨的版本:) 但正如你所看到的,我用過startActivityforResult;) – 2010-06-18 11:39:56

+0

好吧,我會試試... – 2010-06-18 12:43:57

0

我使用了Dialog而不是一個Activity,一切都很好,所以我就這樣離開它。

0

檢查androidmanifest nohistory = true,這使操作系統在結果之前銷燬活動。這可能是你的問題的原因之一。

相關問題