以编程方式更改菜单项在android中不起作用

Mounyo评分

我有一个菜单项,我想以编程方式更改其可见性。菜单是这个

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item
        android:id="@+id/pencil"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:visible="true"
        android:title="@string/for_pencil"/>

</menu>

然后在我的代码中

((MenuItem) findViewById(R.id. pencil)).setVisible(false);

错误:

E/AndroidRuntime(13845): FATAL EXCEPTION: main
E/AndroidRuntime(13845): java.lang.ClassCastException: com.android.internal.view.menu.ActionMenuItemView cannot be cast to android.view.MenuItem

有什么帮助解决这个问题吗?

btse

由于您没有提供任何其他代码,因此我不能多说。

但是,无论何时要更改菜单,都应致电invalidateOptionsMenu()这样做是使菜单无效,这又迫使它重新创建。在其娱乐期间,回调之一是onPrepareOptionsMenu(Menu menu)您可以在此处更改菜单。

例子:

// This is where I want to change the menu. Can be anywhere in your activity.
invalidateOptionsMenu();

然后覆盖此方法

// Override this method to do what you want when the menu is recreated
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    menu.findItem(R.id.pencil).setVisible(false);
    return super.onPrepareOptionsMenu(menu);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android,以编程方式更改菜单项的标题

Kotlin 更改菜单项标题不起作用

拖放不起作用(菜单项)android studio

Android菜单项showAsAction =“ always”不起作用

Android Studio菜单项单击不起作用

以编程方式更改 android 片段中的选项菜单项 Kotlin

Android:以编程方式更新菜单项会导致NullPointerException

CSS Active菜单项不起作用?

导航菜单项单击不起作用

为什么单击optionsMenu菜单项不起作用?

Sublime Text菜单项不起作用

操作栏菜单项显示但不起作用

当前菜单项自定义不起作用

为什么Android Studio中的菜单项在单击时不起作用?

Android appcompat操作栏菜单项showAsAction不起作用

在Android中以编程方式触发动作栏菜单项

如何在Xamarin.Android中以编程方式获取所有菜单项?

以编程方式删除弹出菜单项

如何在Android中动态更改菜单项文本

在Android中以编程方式添加LinearLayout不起作用

下拉菜单项链接在 rails 和 bootstrap4 中不起作用

如何在div上显示(<li>)菜单项-z-index不起作用

JMeter-菜单项“这个节点是什么”不起作用

抽屉布局中菜单项工具栏上的后退操作按钮不起作用

突出显示当前菜单项不起作用,为什么?

悬停时菜单项上的 CSS 动画不起作用

上下文操作菜单项在iOS PCL项目中不起作用

Web用户控件菜单项动态选定的样式不起作用

用 css 倾斜菜单项,取消它不起作用的文本