因此,根据我使用的android studio的版本,它带有不同的模板。一个带有main_menu.xml文件,允许您向主页添加项目(按钮)。好吧,最近我没有使用main_menu.xml的模板,所以我手动添加了.xml文件并添加了我的代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
app:showAsAction="always"
android:title="Hello" />
<item
android:id="@+id/action_mainMenu2"
android:icon="@drawable/ic_add_circle_white_24dp"
android:orderInCategory="10"
android:title="Main Menu"
app:showAsAction="ifRoom|withText" /> />
</menu>
我的mainactivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_mainMenu2:
startActivity(new Intent(MainActivity.this, Main2Activity.class));
case R.id.action_mainMenu:
startActivity(new Intent(MainActivity.this, Main2Activity.class));
return true;
case R.id.action_settings:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
可悲的是,菜单不会添加任何项目
答案 0 :(得分:1)
确保您已覆盖onCreateOptionsMenu。引用文档:
初始化Activity的标准选项菜单的内容。您应该将菜单项放入菜单中。仅在第一次显示选项菜单时调用此选项。默认实现使用标准系统菜单项填充菜单。
如下所示就足够了:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.you_menu_file, menu);
return true;
}
答案 1 :(得分:1)
您还必须覆盖onCreateOptionsMenu(Menu menu)
生命周期方法。有关详细信息,请参阅documentation。
答案 2 :(得分:0)
删除android工作室推荐的“xmlns:app =”http://schemas.android.com/apk/res-auto“是错误的。删除它并使用android而不是app。
tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="always"
android:title="Hello" />
<item
android:id="@+id/action_mainMenu2"
android:icon="@drawable/ic_add_circle_white_24dp"
android:orderInCategory="10"
android:title="Main Menu"
android:showAsAction="ifRoom|withText" /> />