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);
}
}
有关详细信息哦。。。我错过了基本的东西…非常糟糕…:-)谢谢你。。。我错过了基本的东西…非常糟糕…:-)谢谢