2012-06-02 40 views
6

我有一個片段,我正在用另一個替換,同時還將事務添加到後端堆棧。我的兩個片段都使用ActionBarSherlock將菜單項提供給操作欄。但是,我遇到了一個問題 - 在我的第二個片段中,操作欄顯示了第一個片段和第二個片段的項目;我只想要第二個人的物品。有什麼辦法可以做到這一點?如何刪除堆棧片段的菜單項?

(我還使用了支持庫。)

+1

你知道了嗎? – Hades

+1

你知道了嗎? –

回答

3

如果你要更新的操作欄圖標,可以在活動覆蓋onCreateOptionsMenu()來定義該菜單用於活性片段。然後在替換片段重新創建菜單後調用invalidateOptionsMenu()。

如果您只使用下拉菜單,則可以覆蓋onPrepareOptionsMenu()並從菜單中添加/刪除項目。

+0

如何定義要使用哪個菜單?是否有一些方法可以選擇調用哪個片段的「onCreateOptionsMenu」? – jmgrosen

+0

你將不得不提供該邏輯。這將取決於你的實施。您可以檢查哪個片段可見或使用實例變量進行跟蹤。 – Jereld

+2

我想你誤會了。我在我的片段中使用了「onCreateOptionsMenu」,並且從我所知道的情況來看,沒有辦法有選擇地選擇和選擇我想要使用哪些片段的選項菜單。 – jmgrosen

0

您可能在第一個片段中有ViewPagergetFragmentManager()傳遞給FragmentPagerAdapter構造函數。然後您嘗試使用相同的getFragmentManager()導航到第二個片段。

如果是這樣,然後通過getChildFragmentManager()FragmentPagerAdapter