2012-06-28 63 views
0

我有3個Fragment s,它在正常(小)佈局中都在單獨的活動中。他們應該在小布局中提供一個選項菜單。不要在largelayout上調用onCreateOptionsMenu片段

在大布局中,我在一個Activity中有3個片段,導致菜單填充了由所有三個片段膨脹的按鈕。我怎樣才能防止這種情況發生,並且只讓活動在選項菜單上膨脹,同時仍然在較小的設備上保存功能?

CNC中

因此,每個片段使用如下代碼:

@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    /* Some code */ 
    setHasOptionsMenu(true); 
    /* Some code */ 
} 

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){ 
    inflater.inflate(R.menu.mymenu, menu); 
} 

當顯示的所有三個片段,所有片段執行onCreateOptionsMenu()和所有項目出現三次。 我想要的是父母Activity負責創建選項菜單。

+0

您應該爲創建菜單的位置添加一些相關代碼。 –

+0

請參閱編輯:) – nhaarman

回答

2

在每個片段中,我會構建整個菜單。我所做的是,在Fragments中只添加他們特定的菜單項,而在父Activity中,我將構建一般項目。

0

您可以在每個Fragment上使用isVisible()方法來動態檢查正在顯示的內容,然後在活動內適當添加。

+0

請查看問題 – nhaarman

相關問題