好日子所有,我是在什麼樣的卡住,我想我在路上片段mistakening概念和活動的方向變化時的處理。基本上,我有一個活動中的3個片段,通過頁腳通過framelayout動態加載。默認情況下,當應用程序啓動時,會顯示第一個片段,這意味着只要該活動被銷燬並創建,就會顯示第一個片段。現在我想要的是在方向更改之前的當前可見片段在使用不同的UI佈局進行方向更改之後可見。但是當我嘗試顯示片段或其他任何內容時,我會看到一個空視圖。顯示方向改變當前可見的片段讓空/空觀點的Android
在我的活動的onCreate我有此:
if(savedInstanceState != null){
switchTag = savedInstanceState.getString(SAVED_CURRENT_FRAGMENT_STATE);
Log.d(TAG, "fragment after orientation is " + switchTag);
displayCurrentFragment(switchTag);
}else {
dashboardfragment = new DashBoardFragment();
ft.add(R.id.dashboard_fragment_container_id, dashboardfragment, DASHBOARD_FRAG_TAG);
ft.commit();
}
和我的onSaveInstanceState覆蓋和onConfigurationChanged在活動:
@Override
public void onSaveInstanceState(Bundle outState) {
Log.d(TAG, "OnSavedInstance() on dashboard activity");
outState.putString(SAVED_CURRENT_FRAGMENT_STATE, switchTag); // to save the current visible fragment
super.onSaveInstanceState(outState);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.dashboard_layout); // same as oncreate
}
我也在片段覆蓋的onSaveInstanceState()爲好。
所以我的問題
是這樣來處理屏幕方向片段和活動的正確方法?
如果我重寫onsavedInstanceState在我的片段中,什麼特定的方法被調用在活動中?
對不起,如果我的問題到處都是,但它讓我非常困惑!定向變化中保持碎片狀態的實際過程是什麼?謝謝。
沒有動態添加我的片段。只是使用framelayout作爲容器 – irobotxxx
如果您不更改佈局,爲什麼要重寫onConfigurationChanged方法? – user1634451
謝謝!我剛剛檢查並刪除了該行,它運行良好。可能你可以編輯你的答案,所以我可以標記它。 – irobotxxx