簡體   English   中英

方向更改后,活動恢復了兩次

[英]Activity was restored twice when the orientation changes

我的Android應用程式活動發生問題。

我發現方向改變時,我的應用在此活動的“ onCreateView()”方法中輸入了兩次,這給我帶來了問題。 當我單擊相應的按鈕並且此活動開始時一切正常,但是當方向改變時,此活動出現一些問題,因為輸入兩次,即活動重新啟動兩次...

...當方向改變時,有人知道活動的行為嗎? 為什么會這樣?

非常感謝。

由於onCreateView()不是Activity生命周期的一部分,而是Fragment的一部分,因此我假設您在Activity的某處有一個fragment。 我還要假設您使用FragmentManagerFragmentTransaction手動添加此片段。 由於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM