Menu Android 3.0蜂巢:如何在操作栏中启用/禁用菜单项?

Menu Android 3.0蜂巢:如何在操作栏中启用/禁用菜单项?,menu,android-3.0-honeycomb,Menu,Android 3.0 Honeycomb,在XML中禁用菜单项非常容易: <item android:id="@+id/men_1" android:title="@string/men_1" android:showAsAction="ifRoom|withText" android:icon="@drawable/ic_menu_1" android:enabled="false"/> 但是在安卓3.x上我该怎么做呢? 我想根据显示的片段禁用菜单选项 亲切问候,, 水母基本相同,但将

在XML中禁用菜单项非常容易:

<item android:id="@+id/men_1" 
    android:title="@string/men_1" 
    android:showAsAction="ifRoom|withText"
    android:icon="@drawable/ic_menu_1"
    android:enabled="false"/>
但是在安卓3.x上我该怎么做呢? 我想根据显示的片段禁用菜单选项

亲切问候,,
水母

基本相同,但将代码放入片段中,请注意不同的方法签名

@Override
public void onPrepareOptionsMenu(Menu menu) {
    MenuItem item= menu.findItem(R.id.men_1);
    item.setEnabled(false);
    super.onPrepareOptionsMenu(menu);
}
因此,碎片负责膨胀菜单等


编辑注意需要调用
设置选项菜单(true)

谢谢!但是,直到我在片段上添加了对“setHasOptionsMenu(true)”的调用,它才起作用。对于其他来这里查看的人,您还必须覆盖活动中的onCreateOptionsMenu。类似这样的内容:@Override public boolean oncreateoptions菜单(菜单菜单菜单){MenuInflater=getMenuInflater();inflater.inflate(R.Menu.main,Menu);return true;}是否真的建议禁用操作项而不只是隐藏它们?作为一个用户,我不想让我不能点击的动作项目留在身边。。。
@Override
public void onPrepareOptionsMenu(Menu menu) {
    MenuItem item= menu.findItem(R.id.men_1);
    item.setEnabled(false);
    super.onPrepareOptionsMenu(menu);
}