菜单未显示在操作栏上
Menu is not showing on Action Bar
我的问题是一个热门问题,我阅读并尝试了很多相关帖子,但没有实现预期的结果,显示菜单。我还没有找到合适的解决方案。
我的应用程序在 Android 版本 4.2.2 上完美运行。 (版本代码 17)我在 Galaxy Duos phone.
上试用过
我使用Android版本7,0(版本代码24)
我尝试了更多目标 SDK 版本的变体,有 8、19、24、25 和没有目标 SDK 规范。
以下是
的一些相关部分
-build.gradle
android{
编译SDK版本25
buildToolsVersion '25.0.2'
默认配置{
应用程序 ID "com.my.mobile.apps.mnb"
minSdkVersion 8
}
}
-AndroidManifest.xml
android:minSdkVersion="8"
-optionsmenu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/exit"
android:orderInCategory="102"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_menu_exit">
android:title="@string/menuitem_exit">
</item>
<item android:id="@+id/about"
android:orderInCategory="101"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_menu_info_details">
android:title="@string/menuitem_about">
</item>
</menu>
-Main.java
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.optionsmenu, menu);
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.about:
Intent intent = new Intent();
intent.setClass(getApplicationContext(), Info.class);
startActivity(intent);
return true;
case R.id.exit:
Intent intentData = new Intent();
intentData.putExtra("IS_EXIT", new Boolean(true));
setResult(android.app.Activity.RESULT_OK, intentData);
finish();
System.exit(1);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
提前致谢。
包含菜单项时出现问题:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/exit"
android:orderInCategory="102"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_menu_exit"
android:title="@string/menuitem_exit" /> //item not enclosed properly
<item android:id="@+id/about"
android:orderInCategory="101"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_menu_info_details"
android:title="@string/menuitem_about" />
</menu>
保持简单:
@Override
public boolean onPrepareOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.optionsmenu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.optionsmenu, menu);
return true;
}
我的问题是一个热门问题,我阅读并尝试了很多相关帖子,但没有实现预期的结果,显示菜单。我还没有找到合适的解决方案。
我的应用程序在 Android 版本 4.2.2 上完美运行。 (版本代码 17)我在 Galaxy Duos phone.
上试用过我使用Android版本7,0(版本代码24) 我尝试了更多目标 SDK 版本的变体,有 8、19、24、25 和没有目标 SDK 规范。
以下是
的一些相关部分-build.gradle
android{ 编译SDK版本25 buildToolsVersion '25.0.2' 默认配置{ 应用程序 ID "com.my.mobile.apps.mnb" minSdkVersion 8 } }
-AndroidManifest.xml
android:minSdkVersion="8"
-optionsmenu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/exit"
android:orderInCategory="102"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_menu_exit">
android:title="@string/menuitem_exit">
</item>
<item android:id="@+id/about"
android:orderInCategory="101"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_menu_info_details">
android:title="@string/menuitem_about">
</item>
</menu>
-Main.java
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.optionsmenu, menu);
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.about:
Intent intent = new Intent();
intent.setClass(getApplicationContext(), Info.class);
startActivity(intent);
return true;
case R.id.exit:
Intent intentData = new Intent();
intentData.putExtra("IS_EXIT", new Boolean(true));
setResult(android.app.Activity.RESULT_OK, intentData);
finish();
System.exit(1);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
提前致谢。
包含菜单项时出现问题:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/exit"
android:orderInCategory="102"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_menu_exit"
android:title="@string/menuitem_exit" /> //item not enclosed properly
<item android:id="@+id/about"
android:orderInCategory="101"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_menu_info_details"
android:title="@string/menuitem_about" />
</menu>
保持简单:
@Override
public boolean onPrepareOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.optionsmenu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.optionsmenu, menu);
return true;
}