我的问题是一个受欢迎的问题,我阅读并尝试了很多相关的帖子,但我没有意识到预期的结果,显示菜单。我还没有找到合适的解决方案。
我的应用程序在Android 4.2.2版上完美运行。 (版本代码17)我在Galaxy Duos手机上尝试过它。
我使用Android版本7,0(版本代码24) 我尝试了更多目标SDK版本,8,19,24,25,没有目标SDK规范。
以下是
的一些相关部分-build.gradle
android { compileSdkVersion 25 buildToolsVersion '25 .0.2' defaultConfig { applicationId“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);
}
}
提前谢谢。
答案 0 :(得分:0)
there is a problem in enclosing of menu items:
<?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>
Keep it simple:
@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;
}