use*_*843 2 android fragment menuitem
我想从我的导航抽屉中的菜单中隐藏一个菜单项。我尝试使用 setHasOptionsMenu(true) 然后添加方法
public boolean onPrepareOptionsMenu(Menu menu){
//this is where i tried to hide the item
menu.findItem(R.id.item).setVisible(false);
}
Run Code Online (Sandbox Code Playgroud)
但它说那是空的。
有什么建议?
您应该在片段的 onCreate() 方法中调用 setHasOptionsMenu(true) 以允许片段处理菜单项。所以你可以在你的片段中做这样的事情:
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以覆盖片段中的 onPrepareOptionsMenu 方法:
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
// You can hide the state of the menu item here if you call getActivity().supportInvalidateOptionsMenu(); somewhere in your code
MenuItem menuItem = menu.findItem(R.id.item);
menuItem.setVisible(false);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6852 次 |
| 最近记录: |