我的项目中有一个 Activity 。我创建了一个包含 3 个项目的选项菜单。 我不知道为什么,但它对我不起作用。每次我选择一个项目时,我都会得到项目 ID 0。
res/menu/m1.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/ITEM1"
android:title="one">
</item>
<item android:id="@+id/ITEM2"
android:title="two">
</item>
<item android:id="@+id/ITEM3"
android:title="three">
</item>
</menu>
Activity :
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("1");
menu.add("2");
menu.add("3");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.ITEM01: Toast.makeText(this, "1",Toast.LENGTH_SHORT);
break;
case R.id.ITEM02: Toast.makeText(this, "2",Toast.LENGTH_SHORT);
break;
case R.id.ITEM03: Toast.makeText(this, "3",Toast.LENGTH_SHORT);
break;
default: Toast.makeText(this, "-----",Toast.LENGTH_SHORT);
}
Log.v("DEMO", "Item ID: "+item.getItemId());
return super.onOptionsItemSelected(item);
}
}
当我选择一个项目时,日志中始终显示 0。为什么?
最佳答案
用下面的代码替换你的 onCreateOptionsMenu() 方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.m1, menu);
return true;
}
关于java - Android 选项菜单不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39370257/