当前位置: 首页 > 知识库问答 >
问题:

菜单未显示在操作栏上

张丁雷
2023-03-14

我的问题是一个热门问题,我阅读并尝试了很多相关帖子,但我没有实现预期的结果,显示菜单。我还没有找到正确的解决方案。

我的应用程序可以在Android 4 . 2 . 2版本上完美运行。(版本代码17)我在Galaxy Duos手机上试用过。

我使用Android版本7,0(版本代码24)我尝试了更多目标SDK版本的变体,具有8,19,24,25并且没有目标SDK规范。

以下是一些相关的部分

-盖德·格拉德尔

android{compileSdkVersion 25 buildToolsVersion'25.0.2'defaultConfig{Application ationId"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>

-主要.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);
    }
}

提前谢谢你。

共有1个答案

席兴朝
2023-03-14

封闭菜单项时存在问题:

 <?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;
}
 类似资料:
  • 你好 由于某些原因,该图标从未显示在操作栏上,我使用了ifRoom |与text的组合,但仍然没有显示。我也尝试过在风景中旋转。我正在使用genymotion 4.4.2 我正在膨胀菜单中的一个片段: 我在纵向和横向模式下尝试了硬件nexus5,但没有图标。 我也尝试过使用以下方法,但也不起作用: 非常感谢任何建议,

  • 我有旧式菜单应用程序。在改变主题到全息和切换目标SDK版本到14后,软菜单按钮消失了(这是好的),但使用菜单按钮在操作栏显示文本菜单大部分离屏幕,你可以看到在附上的图像。你有什么办法解决这个问题吗? 我已经解决了。清单参数中有问题: 在改变了任何否认为真之后,这个问题就消失了。

  • 我已经在我的 JFrame 中添加了一个自定义 JPane 和一个自定义 JMenuBar。JPane显示得很好,但JMenuBar不是。我已经在不同的类中定义了框架和菜单栏 下面是frame类:public类pixel frame {//这个框架将保存用于艺术创作的a pixelPane。这也将包含一个菜单栏,在另一个文件中定义。pixelPane编辑区域;pixelMenuBar菜单栏;pub

  • 我有一个标准的Android操作栏(我没有使用兼容性库),带有SearchView和一些纯文本菜单项。我希望始终展开SearchView,并在溢出菜单中显示其余项目。到目前为止,我的代码在平板电脑和Nexus 5的横向模式下运行良好,但当手机处于纵向模式时,不会显示溢出菜单。如果我将collapseActionView属性添加到SearchView,溢出菜单将正确显示,但我希望保持搜索小部件完全展

  • ap.showActionSheet(OPTION, CALLBACK) 显示操作菜单。 OPTION 参数说明 名称 类型 必填 描述 title String 否 菜单标题 items String Array 是 菜单按钮的文字数组 cancelButtonText String 否 取消按钮文案,默认为「取消」 CALLBACK 参数说明 点击菜单按钮时调用 名称 类型 描述 index

  • 我正在用Sherlock设置一个带有3个项目/图标的动作栏。在ICS模拟器上运行时,我只能看到2个图标。而且:没有溢出菜单(那些3点图标)!我只会在按下手机的功能表按钮时看到第三个图标。 我是否必须强制溢出图标,如果是,我如何才能这样做?