2012-09-20 102 views
0

我的主要活動處理更改爲肖像模式就好了。但是,如果我通過startActivityForResult()啓動了一個非常簡單的活動,並在完成之前切換到肖像模式,我的主要活動就會崩潰,因爲它的某些變量設置爲null。android:應用程序崩潰,如果方向改變子活動

它看起來像我的服務連接沒有被重新創建。我嘗試在onActivityResult()內手動調用doUnbindService(); doBindService();,但onServiceConnected()仍未被調用。

這裏處理Activity生命週期的正確方法是什麼?

編輯:我在日誌文件中看到,onServiceConnected()確實是被稱爲 - 但後onActivityResult()它被稱爲

+0

請顯示代碼:) – 2012-09-20 03:49:01

回答

0

添加此

if your android:targetSdkVersion="12" or less 
    android:configChanges="orientation|keyboardHidden"> 

     if your android:targetSdkVersion="13" or more 
    android:configChanges="orientation|keyboardHidden|screenSize"> 

的問題是,我指的是不存在的,直到的onCreate()再次調用對象。我需要在本地排列我的答案,並等待重新創建這些對象以避免崩潰。

2

關於第二個活動中的manifest.xml

+0

儘管我的targetSdkVersion爲15,但IDE仍然抱怨「screenSize」。<使用sdk android:minSdkVersion =「15」android:targetSdkVersion =「15」/>' –

+0

好吧,我強迫我自己到更高的API(希望它仍然可以用我的舊手機),這似乎沒有影響。 這看起來像一個類似的問題:http://stackoverflow.com/questions/5758621/life-cycle-predicament-with-orientation-change-in-another-activity 我可能只需要延遲處理結果。 –