12

メニュー項目の Android ID を取得する方法はありますか? getTitle() は表示されますが、getId() は表示されません。タイトル値「printer_settings」とメニュー項目 ID (getItemId()) ではなく、ID 値「menu_printer_settings」に関心があります。Monkey Talk スクリプトをローカライズされたビルドでも機能させるには、この ID が必要です。

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

4

5 に答える 5

13

ソリューション1:

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();

ID名を繰り返す必要がないため、解決策1を好みます。

お役に立てれば。よろしくスティーブ

于 2013-09-17T14:05:48.173 に答える