Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用menuItem.getItemId()查找用户选择的menuItem是否有效?_Android - Fatal编程技术网

Android 使用menuItem.getItemId()查找用户选择的menuItem是否有效?

Android 使用menuItem.getItemId()查找用户选择的menuItem是否有效?,android,Android,我的应用程序中有菜单。我需要检查用户选择的菜单项,并采取适当的措施。我这样做是 @Override public boolean onOptionsItemSelected(MenuItem menuitem){ String title = menuitem.getTitle().toString(); int itemId = menuitem.getItemId(); switch(itemId){

我的应用程序中有菜单。我需要检查用户选择的菜单项,并采取适当的措施。我这样做是

    @Override
public boolean onOptionsItemSelected(MenuItem menuitem){
        String title = menuitem.getTitle().toString();
        int itemId = menuitem.getItemId();
                    switch(itemId){
                        case 2131296257:
                                -----------------;
                                break;
                        case 2131296258:
                                 ------------------;
                                 break;                             
                    }
但每次我运行应用程序时,这些菜单项Id都会发生变化。现在我想将menutile与硬编码字符串值进行比较

 String title = menuitem.getTitle().toString();

   if(title.equals("Settings..")){
                ------------- 
                ------------- 
                -------------
   } 
但我认为这不是一个好的做法。但是我想我可以使用strings.xml中定义的菜单标题来做同样的事情。但我不知道如何使用这个。。。。(如R.string…)

有人能建议一下吗


谢谢

这里有一个名为game\u menu.xml的示例菜单:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/new_game"
          android:icon="@drawable/ic_new_game"
          android:title="@string/new_game" />
    <item android:id="@+id/help"
          android:icon="@drawable/ic_help"
          android:title="@string/help" />
</menu>
响应用户操作

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.new_game:
        newGame();
        return true;
    case R.id.help:
        showHelp();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

有关详细信息,请参见名为game_menu.xml的示例菜单:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/new_game"
          android:icon="@drawable/ic_new_game"
          android:title="@string/new_game" />
    <item android:id="@+id/help"
          android:icon="@drawable/ic_help"
          android:title="@string/help" />
</menu>
响应用户操作

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.new_game:
        newGame();
        return true;
    case R.id.help:
        showHelp();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

有关详细信息

哦。。。我错过了基本的东西…非常糟糕…:-)谢谢你。。。我错过了基本的东西…非常糟糕…:-)谢谢