[英]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.