我的代码中没有看到任何错误,我做了教程教给我的内容。我对Android和新成员都很陌生(请温柔)。
对不起家伙没有清理我的问题。 事情就是当我点击模拟器右侧的菜单按钮时菜单显示.. 是的它显示了膨胀,但每次我选择其中一个菜单没有任何反应,它什么也没做所有。
无论如何这里是java的代码:
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
//inflates the menu
MenuInflater awesome = getMenuInflater();
awesome.inflate(R.menu.main, menu);
return true;
}
public boolean onOptionItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuSweet:
startActivity(new Intent("Sweet"));
return true;
case R.id.menuToast:
Toast andEggs = Toast.makeText(MainActivity.this,
"This is a toast", Toast.LENGTH_LONG);
andEggs.show();
return true;
}
return false;
}`
继承res / menu中的xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menuSweet"
android:alphabeticShortcut="s"
android:title="Open Sweet Activity"
android:onClick="@layout/about" />
<item
android:id="@+id/menuToast"
android:alphabeticShortcut="t"
android:title="Open Toast Activity" />
</menu>
继承清单:
<activity
android:name=".Sweet"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog"
>
<intent-filter>
<action android:name="Sweet" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
答案 0 :(得分:0)
您可能需要在交换机中添加默认大小写,即
default: return super.onOptionsItemSelected(item);
我认为不需要return false;
..也可以删除它。
答案 1 :(得分:0)
应该调用第二种方法:
onOptionsItemSelected
而不是:
onOptionItemSelected
方法名称中缺少“s”。