使用碎片時,處理方向改變的正確方法是什麼?碎片和方向改變
我有一個包含2個片段的橫向佈局(在代碼中實例化成FrameLayout
s)。當我切換到肖像模式(其佈局僅包含一個僅包含左窗格的FrameLayout
)時,右邊的片段不再需要。
我收到一個錯誤:
E/AndroidRuntime(4519): Caused by: java.lang.IllegalArgumentException: No view found for id 0x7f060085 for fragment myFragment{418a2200 #2 id=0x7f060085}
這是假定是我的活動試圖重新附上它的方向改變之前,但該片段包含片段畫像不存在的觀點模式錯誤被拋出。
我試過以下隱藏/刪除/分離方法,但仍然得到錯誤。告訴片段不再需要的正確方法是什麼,並且不要嘗試顯示?
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
Fragment f = getSupportFragmentManager().findFragmentById(R.id.fragholder2);
//rightPane is a framelayout that holds my fragment.
if (rightPane == null && f != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.hide(f); // This doesnt work
ft.remove(f); // neither does this
ft.detach(f); // or this
ft.commit;
}
}
同樣的問題,但解決方案沒有幫助我的情況出於某種原因。 http://stackoverflow.com/questions/6164341/handling-orientation-changes-with-fragments – Kuffs 2012-04-02 13:26:38
此博客提供了處理方向更改的所有選項http://www.techrepublic.com/blog/android-app-builder/處理方向改變在android-ui-framework/ – 2013-07-28 11:35:11
哎呀!沒有檢查日期。無論如何,我只將它連接起來,因爲它顯示了所有可用的選擇,並真正幫助了我。如您所知,代碼在這裏和其他地方的解決方案中可用,因此提交了評論而不是解決方案。我不知道如何提供這些信息,我發現它非常有用。 – 2013-07-28 19:16:18