因爲我必須爲我的應用程序做一個自定義菜單,所以我創建了一個片段,它在我的應用程序底部就像一個操作欄一樣起作用!framelayout如何獲取內容?
但我與堆棧有衝突(按下後退按鈕時)。
我應該如何編程以下方法?
public void changerContenu(int frameLayout, Fragment frag, boolean ajouterAuStack)
{
if(R.id.frameContent != frag.getId())
// * if the current displaying
// fragment in the layout is the same as the one that I received in param#2 (frag),
// then don't do anything.
{
ft = fragmentManager.beginTransaction();
ft.replace(frameLayout, frag);
if(ajouterAuStack)
ft.addToBackStack(null);
ft.commit();
}
}
我知道我的「如果」沒有任何意義,現在,試圖找出如何來預期的結果:(現在,當我訪問片段一次(和它推入堆棧)我不能在我的「自制操作欄」中使用我的按鈕重新訪問它,直到我按下後退按鈕幾次來清理堆棧。
我只想在我的堆棧中不重複項目,如果單擊幾次我的菜單上的相同按鈕...
謝謝你們!
我曾用一個動作條,但我的工作,公司希望有一個特別的設計,我不能用一個動作條來代表它。所以我將它設計成一個片段,就像一個「標籤菜單」。 我有兩個frameLayers,一個用我的菜單(比方說A),另一個用於顯示我的內容(B)。 如果我在frameLayer A的菜單片段中點擊10次我的按鈕之一,它會執行我在第一篇文章中顯示的代碼的10倍。我不希望這樣,因爲它會在後臺堆棧中添加10x片段,並且我必須點擊「返回」10次才能離開這個片段。 希望它有幫助! – Shinnyx 2013-03-12 14:27:30