gpt4 book ai didi

android - 使用 menuItem.getItemId() 在查找用户选择的 MenuItem 时是否有效?

转载 作者:行者123 更新时间:2023-11-29 14:41:45 25 4
gpt4 key购买 nike

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

    @Override
public boolean onOptionsItemSelected(MenuItem menuitem){
String title = menuitem.getTitle().toString();
int itemId = menuitem.getItemId();
switch(itemId){
case 2131296257:
-----------------;
break;
case 2131296258:
------------------;
break;
}

但是每次我运行我的应用程序时,这些 MenuItem Id 都会发生变化。现在我想将 menuTitle 与像 ,

这样的硬编码字符串值进行比较
 String title = menuitem.getTitle().toString();

if(title.equals("Settings..")){
-------------
-------------
-------------
}

但我认为这不是一个好的做法。但我想我可以使用 strings.xml 中定义的菜单标题来做同样的事情。但是我不确定如何使用它....(比如 R.string.......)。

有人可以对此提出建议吗。

谢谢

最佳答案

这是一个名为 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 onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.game_menu, menu);
return true;
}

响应用户操作

@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);
}
}

更多信息click here

关于android - 使用 menuItem.getItemId() 在查找用户选择的 MenuItem 时是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7201159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com