好吧,这可能很简单,但我不知道怎么做!我通过XML定义了菜单,如下所示。它加载和一切。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/home"
android:title="Home" />
<item android:id="@+id/about"
android:title="About" />
<item android:id="@+id/quit"
android:title="Quit" />
</menu>
现在,通过onOptionsItemSelected()
,如何判断选择了哪个菜单项?
这是一个例子......情况会怎样?
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Toast.makeText(this, "Home", Toast.LENGTH_LONG).show();
return true;
case 2:
Toast.makeText(this, "About", Toast.LENGTH_LONG).show();
return true;
case 3:
Toast.makeText(this, "Quit", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
答案 0 :(得分:1)
您的案例陈述应使用xml中定义的ID:
case R.id.home:
....
case R.id.about:
....
case R.id.quit:
....
default:
throw new IllegalStateException("oops, forgot to code something");
默认情况只是好习惯imho。 :)