首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安卓onCreateOptionsMenu永远不会被调用,因此菜单不会显示

安卓的onCreateOptionsMenu方法是用于创建菜单的回调方法,它在Activity创建时被调用。如果onCreateOptionsMenu永远不会被调用,那么菜单就不会显示出来。

这个问题可能是由以下几个原因引起的:

  1. 没有正确重写onCreateOptionsMenu方法:确保在Activity中正确地重写了onCreateOptionsMenu方法,并且调用了父类的super.onCreateOptionsMenu方法。示例代码如下:
代码语言:java
复制
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}
  1. 没有设置菜单布局文件:在res目录下创建一个menu文件夹,并在其中创建一个菜单布局文件(例如menu_main.xml),然后在onCreateOptionsMenu方法中使用getMenuInflater().inflate方法加载菜单布局文件。示例代码如下:
代码语言:java
复制
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}
  1. Activity的主题设置了NoActionBar:如果Activity的主题设置了NoActionBar,那么菜单将不会显示。可以尝试将主题设置为带有ActionBar的主题,或者在代码中使用supportActionBar来显示ActionBar。
  2. 菜单项被隐藏或禁用:在菜单布局文件中,可以设置菜单项的可见性或禁用状态。请确保菜单项没有被隐藏或禁用。

综上所述,如果安卓的onCreateOptionsMenu方法永远不会被调用,菜单就不会显示出来。可以通过正确重写onCreateOptionsMenu方法、设置菜单布局文件、检查Activity的主题和菜单项的可见性或禁用状态来解决这个问题。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Kotlin开发学习(5)

, 3 10月 2022 作者 847954981@qq.com 后端学习, 我的编程之路 Kotlin开发学习(5) 在Activity中使用Menu 想要在activity内使用菜单,需要专门去创建菜单布局...,需要指定id和内容title 使用菜单布局 在activity内重写onCreateOptionsMenu()方法使用: override fun onCreateOptionsMenu(menu:...()方法得到了对象,在调用它的inflate()方法,其传入两个参数第一个参数用于指定我们通过哪一个资源文件来创建菜单,第二个参数用于指定我们的菜单项将添加到哪一个Menu对象当中。...最后给这个方法返回true,表示允许创建的菜单显示出来,如果返回了false,创建的菜单将无法显示。...效果如下: 图片 更多的菜单 上面的菜单只适配于activity,在右上角显示菜单,但实际使用中我们可能会遇上长按某块区域后,在其旁边显示菜单项。

49910

Android菜单的定义及ActionBar的实现

(0, FONT_GREEN, 0, "绿色"); colorMenu.add(0, FONT_BLUE, 0, "蓝色"); return super.onCreateOptionsMenu(menu...", Toast.LENGTH_SHORT).show(); break; } return true; } } 当用户点击menu键时,onCreateOptionMenu()方法会被触发,因此如果需要有自己的实现...是从3.0开始被介绍使用的。系统默认使用ActionBar作为工具栏。ActionBar中的item可以显示为两种——按钮和溢出菜单。 也就是说,菜单已经不再是单纯的菜单。...也可以说,其中的菜单项,可以在ActionBar中作为按钮显示出来(通过设置showAsAction的值来实现)。 如下图,两个图标代表的是按钮,三个竖点代表的是溢出菜单: ?...全部浓缩在溢出菜单中。 “withText”也就是显示按钮时跟随文字。但文字一般不显示出来,用户如果长按按钮,则会显示其对应的title。 ” always”与”never”相对应。

1.1K20

Android--Toolbar基本使用

谷歌最初推出Actionbar想用于app统一导航行样式,但由于Actionbar自定义性不高,又不是很好看(很丑),民间开发出了另一种控件并被谷歌收入v7包下,它就是Toolbar 使用Toolbar...已经过时,但如果实在想继承Activity的话,使用v4包下的Toolbar): 1.App主题使用NoActionBar 2.Activity需要继承AppCompatActivity 3.在代码中调用...,always表示一直显示,never表示一直放入overflow中(右侧更多图标的按钮),ifRoom表示如果显示不下,则放入overflow中,定义好xml后,需要在Activity中改写onCreateOptionsMenu...showOverflowMenu() 从显示相关的菜单溢出项目。 dismissPopupMenus() 关闭所有当前显示弹出式菜单,包括溢出或子菜单。...isOverflowMenuShowing() 检查溢出菜单是否正在显示。 inflateMenu(int resId) 膨胀的菜单资源到这个工具栏。

1.5K30

第十夜 亚当的诞生

这一讲我将介绍如何在内部直接进行HTTP通信。 《亚当的诞生》,西斯廷礼拜堂的吊顶画,米开朗基罗之作。当时的教皇强迫沉迷于雕塑的米开朗基罗画巨幅壁画。...反过来我也将从远程数据库中抓取条目,并放入的数据库。相关的知识点包括: 线程 HTTP通信 JSON 增加ActionBar 我首先在首页上增加一菜单,用于触发下载和上传功能。...一个是onCreateOptionsMenu()方法。在这个方法中,我绑定上面的视图文件到ActionBar上。...为了确保界面的流畅,规定网络访问不能在负责图画界面的主线程中进行。所以,我们必须把网络访问放在一个新的线程中。我们通过异步的方式进行网络访问,将在下一部分介绍。...其中,doInBackground在背景进程中进行,因此可以把网络访问放入其中。此外,在doInBackground中,可以通过调用publishProgress(),来更新任务的进度。

1.1K90

2014-10-31Android学习------菜单的处理(一)-----OptionsMenu

使用的OptionsMenu 先看看这个应用程序中是做了哪些操作: 1.创建菜单 我们需要用到菜单,那么必须要创建一个菜单,负责创建菜单的类就是当前的activity类 这个必须要清楚,不要老是怀疑到底是谁在调用...onCreateOptionsMenu(Menu menu) ,明确的告诉你,是activity自己调用的,就像它调用onCreate(Bundle)一样,这两个函数都是由它调用的。...,一般情况下,选项菜单最多显示2排每排3个菜单项,这些菜单项有文字有图标,也被称作Icon Menus,如果多于6项,从第六项开始会被隐藏,在第六项会出现一个More里,点击More才出现第六项以及以后的菜单项...boolean onPrepareOptionsMenu(Menu menu){ Toast.makeText(this, "选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单...", Toast.LENGTH_LONG).show(); //如果返回false,此方法就把用户点击menu的动作给消费了,onCreateOptionsMenu方法将不会被调用 return true

33810

Android系列之ActionBar使用详解

同样调用actionBar.show();时也会重新绘制界面。如果我们一个程序需要频繁的显示或者隐藏ActionBar的话,这样 就不会有良好的效果。...当菜单项过多时,Android会分两种情况进行处理: 1、手机有MENU实体键:则按下Menu键后会显示剩余菜单项 2、手机没有MENU实体键:则会在最左边显示一个Action OverFlow按钮,...按下后会显示剩余项菜单,如图: 五、使用带字的Action Item 1、Action item 默认格式是如果菜单项含字和图标的话,只显示图标 2、如果想要显示字的效果,在xml里如下设置:android...2、当用户选择一个Fragment的菜单项时,首先会调用Activity的onOptionsItemSelected()方法,如果该方法返回false,则调用Fragment实现的onOptionsItemSelected...看menu_sitting 就永远不会显示出来,只有在按menu时候会显示。谷歌文档中提供android:showAsAction总共有五个属性。 never:永远不会显示

3K20

Android 1.5到10.0 都有哪些新特性?

全新下拉快捷开关页 在7.0中,下拉打开通知栏顶部即可显示5个用户常用的快捷开关,支持单击开关以及长按进入对应设置。...谷歌也在7.0的设置中加入了汉堡菜单,在二级设置界面中的左上角,你就会看到这个汉堡菜单,点击后即可看到所有设置项,方便用户快速跳转。...而在7.0中,谷歌对Doze进行了更多的优化,休眠机制的使用规则和场景有所扩展,例如只要手动在后台删掉应用卡片,关屏后该应用就会被很快深度休眠。...系统级电话黑名单功能 7.0将电话拦截功能变成了一个系统级功能。其它应用可以调用这个拦截名单,但只有个别应用可以写入,包括拨号应用、默认的短信应用等。...被拦截号码将不会出现在来电记录中,也不会出现通知。另外用户也可以通过账户体系备份和恢复这个拦截名单,以便快速导入其它设备或账号。 菜单键快速应用切换 双击菜单键,就能自动切换到上一个应用。

2K20

程序员 基础教程 5分钟彻底明白Activity生命周期

系统 开篇 本文章属于开发基础教程。 建议先收藏,然后打开开发工具,按照步骤一起做。 本教程致力于讲解及快速进行开发的学习。...除开发教程之外,还有Python、C#、网站建设、SEO等教程。对电脑技术感兴趣的朋友直接点击上方“关注”。 本文章要求你有一点基础。没有基础的朋友可以,查看以前我写的关于开发的文章。...关注之后,点开头像,在菜单中即可找到对应目录。 上次课程:开发基础教程-使用隐式意图打开系统内置应用,干货 前几次课程主要是介绍了Intent,打开activity等相关技术。...onReumse():界面可见,获得焦点的这个阶段会被调用。 onPause():界面可见失去焦点的时候会被调用。以上两个方法场景:游戏暂停时,继续时。游戏界面被上层透明Activity覆盖。...onReStart():在后台应用被唤醒时,调用此方法。 横屏竖屏注意 在应用中难免会有横屏竖屏的钱换问题。值得注意的是,在进行横竖屏切换时。Activity会被直接销毁掉。

66750

开发_慕课网_百度地图_实现模式转换

学习内容来自“慕课网” 模式转换,即地图的普通模式,罗盘模式,跟随模式之间的转换 学习内容接自前三篇 开发_慕课网_百度地图 开发_慕课网_百度地图_实现定位 开发_慕课网_百度地图_实现方向传感器...一、模式转换通过菜单按钮来控制 所以添加对应的菜单项(红色字体部分) 1 <menu xmlns:android="http://schemas.android.com/apk/res/android...实现地图生命周期管理 142 mMapView.onPause(); 143 } 144 @Override 145 public boolean <em>onCreateOptionsMenu</em>...getMenuInflater().inflate(R.menu.main, menu); 149 return true; 150 } 151 //<em>菜单</em>按钮的响应事件...代码是学习的,发现一点Bug 点击罗盘模式后点击左上角指南针图标 无法回到普通模式 在罗盘模式后,点击普通模式,界面<em>不</em>直接<em>显示</em>为普通模式,而要再点击左上角指南针图标后才能回到普通模式

83380

鸿蒙3.0将删除谷歌代码,只是为让国产系统更纯粹

是因为如果套壳就没有办法活下去,没有办法兼容应用,对于这个被掌控的移动端时代来说犹如“自寻短见”。 而鸿蒙系统也一直被吐槽没有脱离Linux,可是脱离Linux会带来的后果却很少有人提起了。...纵然鸿蒙系统现在能兼容软件,我们也会发现鸿蒙系统想要募集开发者,困难已经是常人难以想象的了,如果开发出一款完全脱离苹果、的第三大系统,听着似乎很热血,但结局未必会尽如人意。...不会被谷歌卡脖子,不用承担技术封锁所带来的困境,这就是俄用户选择华为的原因。在谷歌支付和苹果支付被封锁后,俄民众开始尝试使用支付宝和微信支付。...有而用户评价道:“中国手机配合中国APP,使用起来给人一种很安心的感觉,你永远不用担心特它们会出问题”。...虽然系统是由全球的程序工程师合力开发的,但谷歌并没有系统的所有权,只是有一定的主导权。但是谷歌还是对系统做了一定的完善和收尾工作,因此即使公版内核中也有一定量的谷歌代码残留。

78920

揭秘:木马是如何盗取用户手机银行的

就在上周,新加坡银行协会(ABS)发布了公告称手机银行恶意软件感染智能机的数量大幅上升。...Adobe Flash Player所需的权限要比同类普通应用高的多(事实上,在某些情况下并不支持它)。...Player最引人注目的权限就是被激活为设备管理员,也就是需要的最高权限,这点很容易被恶意软件操纵。...图19:保存文件到SD卡的原始配置数据 结论 大多数恶意软件app不会自动安装-他们需要用户参与来感染设备。所以如果你想让你的设备安全就需要在下载和更新应用程序时保持警惕。...图20:让你的手机进入安全模式 第二步:在安全模式里,打开设置菜单,滑到安全选项进入。查看名叫设备管理员的一栏,点击进入。现在它会显示设备的管理员列表。

3.5K90

《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目

每天第12:30之后更新,因为双休更新所以内容缓存三天网络取不到就取缓存。 福利: Glide加载图片,点击查看大图,支持双指缩放,一下可查看列表的所有图片,再也不用逐个点击每张图啦。...大安显示的全部资讯。支持下拉刷新方便查看最新的资源。 电影(豆瓣) API是豆瓣提供的,因为限制了每个ip每分钟请求的次数,所以请酌情使用,由此带来的不便请见谅。...玩显示轮播图及最新内容。 段子: 显示内涵段子和糗事百科的段子内容。 书籍: 检索豆瓣心理学类的书籍并展示。...android:orderInCategory="100"// 菜单显示优先级 android:title="@string/actionbar_search"// Toast...文字“搜索” app:showAsAction="always" />// 总是显示,其中还有"never"点击后弹出显示;``ifRoom``根据空间判断是否显示 然后再找到菜单相应的

1.3K10

topic-菜单 Menu

上下文操作模式在屏幕顶部栏显示影响所选内容的操作项目,并允许用户选择多项。 请参阅创建上下文菜单部分。 弹出菜单 弹出菜单将以垂直列表形式显示一系列项目,这些项目将锚定到调用菜单的视图中。...如果您开发的应用适用于 Android 2.3.x 及更低版本,则当用户首次打开选项菜单时,系统会调用 onCreateOptionsMenu() 来创建该菜单。...如果您开发的应用适用于 Android 3.0 及更高版本,则系统将在启动 Activity 时调用 onCreateOptionsMenu(),以便向应用栏显示项目。...在运行时更改菜单项 系统调用 onCreateOptionsMenu() 后,将保留您填充的 Menu 实例。除非菜单由于某些原因而失效,否则不会再次调用 onCreateOptionsMenu()。...(Activity 和 android.app.Fragment 的默认实现返回 false,因此您始终应在未处理的情况下调用超类。)

2.6K20
领券