我的主要活動的佈局文件包含一個我正在使用NavigationDrawer Dinamically加載 碎片。 爲了實現這一目標我使用FragmentPagerAdapter:如何在android中保存/恢復嵌套片段?
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
return new FragmentA();
case 1:
return new FragmentB();
case 2:
return new FragmentC();
}
return null;
}
在FragmentA有一個ViewPager +另一FragmentPagerAdapter,這樣你就可以刷卡 三者之間的其它片段。 (Frament1,Fragment2,Fragment3)。 它的工作原理是這樣的:
(我不能插入圖片由於缺乏信譽的...)
http://62.165.232.86:1991/images/fragments.png
當我Frament1,Fragment2和Fragment3之間的交換,它工作正常。 (我設置ViewPager的offScreenPageLimit不夠高。)
,當我瀏覽到FragmentB或FragmentC然後FragmentA被摧毀,我不知道如何保存它的實例,並恢復它,becaues我沒有 參考問題occures片段1。
EDIT 1: 我FragmentA和FragmentB之間交換這樣的:
FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.replace(R.id.main, mAdapter.getItem(0));
tx.commit();
林有點混亂。我應該保存Fragment1,2,3和片段A的實例, ,並在我導航回片段A時將其全部恢復,但我不知道如何,因爲我沒有引用子片段。
你能幫我嗎?
謝謝您的回答, Daneel Olivaw
你A和B之間切換如何'FragmentTransaction.replace()'? – zella
是的,我就這樣開關。 (我也編輯了這個問題。) – DaneelOlivaw
嘗試使用'FragmentTransaction.add()'而不是 – zella