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

乔夫

我想以编程方式从我的 Activites 中更改一些标题。我有一些像

“显示/隐藏东西1”“显示/隐藏东西2”

现在我想将文本更改为:

“Show something1”并执行一些操作,并将此菜单项的文本更改为:

“隐藏东西1”......

设置 Android Item 的标题

我测试这个解决方案,并得到一个空指针

我的布局:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:universal="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/menu_1"
        universal:showAsAction="never"
        android:title="Show/Hide Something1" />

    <item
        android:id="@+id/menu_2"
        universal:showAsAction="never"
        android:title="Show/Hide Something2" />

</menu>

还有我的代码:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.rallye_menu, menu);
        MenuItem item=menu.getItem(R.id.menu_1); // here itemIndex is int
        item.setTitle("YourTitle");
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.menu_1:
                // do some action
                return true;
            case R.id.menu_2:
                // doe other action
                return true;
                default:
                return super.onOptionsItemSelected(item);
        }
}

得到这个错误:

进程:com.packagename.foo,PID:12441 java.lang.NullPointerException:尝试在 com 的空对象引用上调用接口方法“android.view.MenuItem android.view.MenuItem.setTitle(java.lang.CharSequence)” .sherdle.universal.rallye.MainActivity.onCreateOptionsMenu(MainActivity.java:646)

在这一行: MenuItem item=menu.getItem(R.id.menu_1)

需要帮忙 :)

编辑:找到另一个解决方案:Android - 如何动态更改 onOptionsItemsSelected 或 onCreateOptionsMenu 之外的菜单项文本但不起作用

戴夫·诺特大卫

因为 Menu 的 getItem() 方法返回给定索引处的菜单项,而不是传入一个资源 ID,这可能会抛出一个 IndexOutOfBoundsException,如文档中所述相反,您应该使用索引值,以便第一个菜单项 menu_1 为 0,另一个菜单项 menu_2 为 1。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

更改菜单项标题时获取 systemNullReference 异常 - Android

来自分类Dev

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

来自分类Dev

更改菜单项

来自分类Dev

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

来自分类Dev

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

来自分类Dev

以编程方式触发Eclipse插件菜单项?

来自分类Dev

如何以编程方式隐藏导航抽屉菜单项?

来自分类Dev

如何更改操作栏的选项菜单项标题的字体?

来自分类Dev

获取对状态菜单项的引用并更改其标题

来自分类Dev

Android中的导航抽屉菜单项标题颜色

来自分类Dev

更改菜单项颜色

来自分类Dev

动态更改菜单项

来自分类Dev

在Android中使用可绘制资源以编程方式将图标设置为导航抽屉菜单项始终为黑色

来自分类Dev

如何以编程方式将子菜单项添加到新的材质设计android支持库

来自分类Dev

根据菜单项的数量更改菜单项的宽度

来自分类Dev

如何在剑道菜单中以编程方式选择菜单项

来自分类Dev

如何以编程方式而不是菜单xml将子菜单项添加到NavigationView

来自分类Dev

Android可检查的菜单项在方向更改时重置

来自分类Dev

更改菜单项(DrawerLayout)Android的图标方向?

来自分类Dev

从右到左菜单项Android

来自分类Dev

长按 Android 菜单项?

来自分类Dev

菜单项应指定标题

来自分类Dev

搜索菜单项快捷方式

来自分类Dev

以编程方式自定义弹出菜单项中的文本

来自分类Dev

从以编程方式创建的UITextView IOS中删除“复制”菜单项

来自分类Dev

我现在已经以编程方式添加了菜单项,如何对其执行操作

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

    更改菜单项标题时获取 systemNullReference 异常 - Android

  5. 5

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

  6. 6

    更改菜单项

  7. 7

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

  8. 8

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

  9. 9

    以编程方式触发Eclipse插件菜单项?

  10. 10

    如何以编程方式隐藏导航抽屉菜单项?

  11. 11

    如何更改操作栏的选项菜单项标题的字体?

  12. 12

    获取对状态菜单项的引用并更改其标题

  13. 13

    Android中的导航抽屉菜单项标题颜色

  14. 14

    更改菜单项颜色

  15. 15

    动态更改菜单项

  16. 16

    在Android中使用可绘制资源以编程方式将图标设置为导航抽屉菜单项始终为黑色

  17. 17

    如何以编程方式将子菜单项添加到新的材质设计android支持库

  18. 18

    根据菜单项的数量更改菜单项的宽度

  19. 19

    如何在剑道菜单中以编程方式选择菜单项

  20. 20

    如何以编程方式而不是菜单xml将子菜单项添加到NavigationView

  21. 21

    Android可检查的菜单项在方向更改时重置

  22. 22

    更改菜单项(DrawerLayout)Android的图标方向?

  23. 23

    从右到左菜单项Android

  24. 24

    长按 Android 菜单项?

  25. 25

    菜单项应指定标题

  26. 26

    搜索菜单项快捷方式

  27. 27

    以编程方式自定义弹出菜单项中的文本

  28. 28

    从以编程方式创建的UITextView IOS中删除“复制”菜单项

  29. 29

    我现在已经以编程方式添加了菜单项,如何对其执行操作

热门标签

归档