簡體   English   中英

如何保持當前片段在屏幕上旋轉

[英]How to keep my current fragment on screen rotation

我正在嘗試在一個活動中使用3個片段,其中一個片段在onCreate()方法中設置為默認片段,而其他片段則通過某些操作進行調用,因此當我旋轉屏幕時, onCreate()方法再次調用,而我當前片段丟失,默認片段再次開始,但是我必須在onCreate()方法中使用默認片段。 如何使正在運行的片段保持在旋轉屏幕上?

您可以在onCreate方法中使用setRetainInstance(true)

要在運行時配置更改期間將狀態對象保留在片段中:

擴展Fragment類並聲明對有狀態對象的引用。

創建片段時調用setRetainInstance(boolean)。

將片段添加到您的活動中。

重新啟動活動時,使用FragmentManager檢索片段。

請參閱有關如何處理配置更改的文檔 ,其中有一個片段部分

我正在使用BottomNavigationView,但遇到了相同的問題。 通過在加載默認片段之前檢查saveInstanceState是否為null來解決此問題。

if(savedInstanceState==null) {
   //This is the function you call onCreate to load your Fragments
   loadFragments(new MyDefaultFragment());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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