[英]Activity was restored twice when the orientation changes
我的Android應用程式活動發生問題。
我發現方向改變時,我的應用在此活動的“ onCreateView()”方法中輸入了兩次,這給我帶來了問題。 當我單擊相應的按鈕並且此活動開始時一切正常,但是當方向改變時,此活動出現一些問題,因為輸入兩次,即活動重新啟動兩次...
...當方向改變時,有人知道活動的行為嗎? 為什么會這樣?
非常感謝。
由於onCreateView()
不是Activity生命周期的一部分,而是Fragment的一部分,因此我假設您在Activity的某處有一個fragment。 我還要假設您使用FragmentManager
和FragmentTransaction
手動添加此片段。 由於Android會將所有添加的片段保留在方向更改之間,因此很有可能不檢查片段是否已存在於此活動中,因此您再次添加它會導致調用其他onCreateView
。
如果是這種情況,則需要檢查onCreate
內的savedInstance
是否為null。 如果是,則添加片段。 否則,活動將恢復,因此片段已經存在。
我知道很多答案的假設。 但是我仍然在掌握我的心靈感應技巧:)
方向更改時,將調用onDestroy(),然后調用onCreate()。 有關更多信息: http : //developer.android.com/guide/topics/resources/runtime-changes.html
嘗試在您的活動中將其添加到AndroidMainfest.xml中:
android:configChanges="orientation|screenSize|keyboardHidden"
這意味着在方向更改時不要重新創建活動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.