0

我想在從NavigationDrawer中選擇一個項目時更改操作。這是可能的,什麼是正確的方式來做到這一點?我正在使用實現NavigationDrawerFragment的Activity。如何更改所選navigationcher項目上的操作欄操作(項目)?

navigation/actions

謝謝

+1

當您在導航抽屜中選擇特殊項目時,您可以設置一個標誌並調用'invalidateOptionsMenu()'。你的'onCreateOptionsMenu()'回調將需要檢查該標誌來擴大適當的菜單佈局。 – Luksprog

+0

非常感謝你:)這就是我一直在尋找的東西。您可以將其作爲答案發布,以便我可以接受。 –

回答

3

您可以使用碎片,每個碎片應該調用setHasOptionsMenu(true);該分段的onCreateView()onResume()方法。你可以,如果你使用的是ActionBarSherlock爲此,

getSherlockActivity().supportInvalidateOptionsMenu(); 

,然後,在每個片段的建立與

public void onPrepareOptionsMenu(final Menu menu) { 

} 

這可以讓你爲每個片段ActionBar中不同的操作菜單。

如果您只是想要從相同的片段或活動更改您的操作,則應該將invalidateOptionsMenu()調用放入按下的操作中。這會導致onPrepareOptionsMenu(final Menu menu)被召回,並且會根據您在onPrepareOptionsMenu()中的代碼重新構建您的操作。

希望這會有所幫助。如果有什麼不清楚的地方,請不要猶豫,問問。