我需要避免顯示另一個片段中的菜單項。 這是在片段A我需要菜單項。在片段B中,我不需要它。但是,當我嘗試從片段A轉換到片段B.片段A的菜單項顯示在片段B中。如何解決衝突?顯示在另一個片段中的一個片段的菜單項
0
A
回答
3
我也面臨這個問題,我做這個
在onCreate方法解決它做到這一點
@Override
public void onCreate(Bundle savedInstanceState) {
setHasOptionsMenu(true);
super.onCreate(savedInstanceState);
}
在onCreateOptionMenu爲此
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
}
0
@Override public void onPrepareOptionsMenu(Menu menu) {
MenuItem item = menu.findItem(R.id.action_search);
item.setVisible(false);
}
,並在片段的onCreate()
setHasOptionsMenu(true);
1
在該片段中,你不希望顯示任何菜單選項,您需要在OnCreate()setHasOptionsMenu(false);
, 這樣的:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(false);
}
然而,顯示您想要隱藏的菜單屬於MainActivity。這就是它總是顯示的原因。既然你想在片段級別控制菜單,我的建議是從活動中刪除菜單代碼並在Fragment中執行它。活動和片段可以有自己的獨立菜單,如android開發人員網站中所述 - https://developer.android.com/guide/topics/ui/menus.html#options-menu
相關問題
- 1. 處理片段過渡:從另一個片段顯示的菜單項
- 2. 更換片段與另一片段顯示兩個片段
- 3. 一個片段到另一個片段的按鈕單擊
- 4. 在Android中將另一個片段滑過另一個片段
- 5. 去另一個片段,而在片段
- 6. 顯示前一個片段
- 7. 在viewpager中用另一個片段替換一個片段
- 8. 從另一個片段打開片段
- 9. 從另一個片段調用片段
- 10. 從片段到另一個片段
- 11. 一個片段與另一個片段之間的通信
- 12. 一個片段正在繪製另一個片段
- 13. 單擊從片段到另一個片段的通知
- 14. 按鈕上的新片段單擊從另一個片段?
- 15. 用另一個片段替換一個片段
- 16. 將數據從一個片段發送到另一個片段
- 17. 將一個片段替換爲另一個片段
- 18. 在viewpager上顯示一個片段
- 19. 菜單項onClickListener的片段
- 20. 另一個片段通信
- 21. AS3 addEventListener在另一個動畫片段內的動畫片段
- 22. 刪除另一個片段活動中的片段
- 23. 片段中的ViewPager從另一個片段調用Android
- 24. 將片段放入另一個片段中的問題
- 25. 將ArrayList項目從一個片段傳遞到另一個片段
- 26. 的一個片段
- 27. 的一個片段
- 28. 去一個片段的其他片段
- 29. 在另一個片段上顯示的列表視圖
- 30. 更換一個片段與另一個
這很可能是由於您的片段中使用了'onCreateOptionsMenu' –
檢查此[鏈接](http://stackoverflow.com/a/21498812/5882539)爲您的解決方案 –