android - 如何获取 Android 中菜单项的 Android ID?

标签 android string menu resources monkeyrunner

有没有办法获取菜单项的 Android ID?我可以看到 getTitle() 但看不到 getId()。我对 ID 值“menu_printer_settings”感兴趣,而不是标题值“printer_settings”和菜单项 ID (getItemId())。我需要此 ID 才能使我的 Monkey Talk 脚本也适用于本地化构建。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/menu_printer_settings"        
    android:title="@string/printer_settings"
/>

最佳答案

方案一:

MenuItem item

String[] id = getResources().getResourceName(item.getItemId()).split("\\/");

然后访问 id[1]

解决方案2:

使用 titleCondensed 来匹配 id 例如

<menu>
            <item android:id="@+id/myid"
                  android:title="some menu title"
                  android:titleCondensed="myid"/>
...
</menu>

然后

String selectedMenuIdString = (String) item.getTitleCondensed();

我更喜欢解决方案 1,因为我不必重复 ID 名称。

希望这对您有所帮助。 问候 史蒂夫

关于android - 如何获取 Android 中菜单项的 Android ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16938522/

相关文章:

android - Notification Builder.addAction().auto Cancel() 在 Android 6.0 中不起作用

android - 从代码中启用或禁用 PatternLock 屏幕

c++ - 你能告诉 iostreams 哪些字符被视为空白吗?

c - qsort比较功能不起作用

android - Android 上有标准快捷方式吗?

css - 在当前页面上突出显示菜单

java - 如何以编程方式设置 adUnitId?

java - 如何获取单个字符串中包含的变量名称及其值?

c# - 字符串比较长度不匹配

javascript - jQuery Accordion 和事件链接