2015-04-19 76 views
0

我正在使用FragmentManager將片段動態添加到活動。我怎樣才能在另一個片段之前添加一個新片段,而不是在最後,而不必重做整個片段集?更改片段的順序

例如,在活性有這樣垂直顯示三個片段:
FragA
FragB
FragC

當我添加四分之一片段NewFragD它們現在應該安排這樣:
FragA
NewFragD
FragB
FragC

+0

你的意思是替換某個容器中的片段? – AlexWalterbos

+0

我認爲他意味着將一個片段插入到任意一個位置,而不必先彈出所有的東西。 –

+0

對不起,我猜這不是很清楚。我編輯了我的例子,希望它現在更有意義。所有的片段在活動中都是可見的,但是當我添加一個新片段時,我不希望它在所有已有的片段之後出現。 –

回答

0

你需要的東西是這樣的:

@Override 
public Fragment getItem(int position) { 
    if (position == 0) return new frg1(); 
    else if (position == 1) if (newFragment)return new Mapfrag2(); else return frg2() 
    else if (position == 2) return new frg3(); 
    else return new frg1(); 
} 
+1

不要猜測你的答案。請在* comment *中提問,或在* answer *中提供答案。 – jww

+0

這對我很有用,我對他的需求並不瞭解;我試圖幫助 –

+0

獲取特定片段不是問題。我需要的是能夠在現有片段之間插入一個新的。 –