了解为什么 onCreateOptionsMenu 不显示菜单

2023-12-14

我正在阅读 Android For Dummies。一个例子使用了 onCreateOptionsMenu (我添加了一条日志消息):

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater mi = getMenuInflater();
    mi.inflate(R.menu.list_menu, menu);
    Log.d("ReminderListActivity","Why is there no menu?");
    return true;
}

我在 Eclipse 中没有错误,当我在模拟器上运行应用程序时,我可以看到日志消息:

07-10 11:38:56.993: WARN/KeyCharacterMap(382): No keyboard for id 0
07-10 11:38:56.993: WARN/KeyCharacterMap(382): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
07-10 11:38:57.023: DEBUG/hello(382): Why is there no menu?

菜单不显示,我不知道如何找出原因。有谁能够帮助我?

这是list_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android">
  <item
    android:id="@+id/menu_insert"
    android:icon="@android:drawable/ic_menu_add"
    android:title="@string/menu_insert"
    />
</menu>

这里有更多 LogCat:

07-10 18:15:11.501: DEBUG/KeyguardViewMediator(58): pokeWakelock(5000)
07-10 18:15:11.881: DEBUG/KeyguardViewMediator(58): pokeWakelock(5000)
07-10 18:15:12.201: INFO/ARMAssembler(58): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x356548:0x356654] in 1684001 ns
07-10 18:15:12.251: INFO/ARMAssembler(58): generated scanline__00000177:03515104_00001001_00000000 [ 91 ipp] (114 ins) at [0x356658:0x356820] in 901000 ns
07-10 18:15:19.494: WARN/KeyCharacterMap(296): No keyboard for id 0
07-10 18:15:19.494: WARN/KeyCharacterMap(296): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
07-10 18:15:19.501: DEBUG/ReminderListActivity(296): Why is there no menu?
07-10 18:15:39.422: DEBUG/AndroidRuntime(303): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
07-10 18:15:39.422: DEBUG/AndroidRuntime(303): CheckJNI is ON
07-10 18:15:39.671: DEBUG/AndroidRuntime(303): --- registering native functions ---
07-10 18:15:40.621: DEBUG/AndroidRuntime(303): Shutting down VM
07-10 18:15:40.831: DEBUG/jdwp(303): adbd disconnected
07-10 18:15:40.851: INFO/AndroidRuntime(303): NOTE: attach of thread 'Binder Thread #3' failed
07-10 18:15:41.671: DEBUG/AndroidRuntime(311): >>>>>> >>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
07-10 18:15:41.671: DEBUG/AndroidRuntime(311): CheckJNI is ON
07-10 18:15:41.891: DEBUG/AndroidRuntime(311): --- registering native functions ---
07-10 18:15:42.861: INFO/ActivityManager(58): Force stopping package com.dummies.android.taskreminder uid=10034
07-10 18:15:42.891: INFO/Process(58): Sending signal. PID: 296 SIG: 9
07-10 18:15:42.971: INFO/WindowManager(58): WIN DEATH: Window{450347c8 com.dummies.android.taskreminder/com.dummies.android.taskreminder.ReminderListActivity paused=false}
07-10 18:15:42.991: INFO/UsageStats(58): Unexpected resume of com.android.launcher while already resumed in com.dummies.android.taskreminder
07-10 18:15:43.061: INFO/ActivityManager(58): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.dummies.android.taskreminder/.ReminderListActivity }
07-10 18:15:43.081: DEBUG/AndroidRuntime(311): Shutting down VM
07-10 18:15:43.091: DEBUG/dalvikvm(311): Debugger has detached; object registry had 1 entries
07-10 18:15:43.141: INFO/AndroidRuntime(311): NOTE: attach of thread 'Binder Thread #3' failed
07-10 18:15:43.371: INFO/ActivityManager(58): Start proc com.dummies.android.taskreminder for activity com.dummies.android.taskreminder/.ReminderListActivity: pid=318 uid=10034 gids={}
07-10 18:15:43.411: WARN/InputManagerService(58): Got RemoteException sending setActive(false) notification to pid 296 uid 10034
07-10 18:15:43.961: WARN/ActivityThread(318): Application com.dummies.android.taskreminder is waiting for the debugger on port 8100...
07-10 18:15:44.011: INFO/System.out(318): Sending WAIT chunk
07-10 18:15:44.311: INFO/dalvikvm(318): Debugger is active
07-10 18:15:44.441: INFO/System.out(318): Debugger has connected
07-10 18:15:44.451: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:44.651: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:44.851: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:45.051: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:45.081: INFO/ARMAssembler(58): generated scanline__00000077:03515104_00000000_00000000 [ 33 ipp] (47 ins) at [0x369920:0x3699dc] in 556000 ns
07-10 18:15:45.251: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:45.461: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:45.662: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:45.861: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:46.061: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:46.271: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:46.473: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:46.675: INFO/System.out(318): waiting for debugger to settle...
07-10 18:15:46.881: INFO/System.out(318): debugger has settled (1404)
07-10 18:15:48.112: INFO/ActivityManager(58): Displayed activity com.dummies.android.taskreminder/.ReminderListActivity: 4788 ms (total 4788 ms)
07-10 18:15:53.321: DEBUG/dalvikvm(129): GC_EXPLICIT freed 2287 objects / 109048 bytes in 114ms
07-10 18:16:11.591: WARN/KeyCharacterMap(318): No keyboard for id 0
07-10 18:16:11.591: WARN/KeyCharacterMap(318): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
07-10 18:16:11.621: DEBUG/ReminderListActivity(318): Why is there no menu?

这是完整的类:

package com.dummies.android.taskreminder;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class ReminderListActivity extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.reminder_list);

        String[] items = new String[] {"Foo","Bar", "Fizz", "Bin"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.reminder_row, R.id.text1, items);

        setListAdapter(adapter);

        registerForContextMenu(getListView());
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        Intent i = new Intent(this, ReminderEditActivity.class);
        i.putExtra("RowId", id);
        startActivity(i);
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuInflater mi = getMenuInflater();
        mi.inflate(R.menu.list_menu, menu);
        Log.d("ReminderListActivity","Why is there no menu?");
        return true;
    }
}

我会删除该行super.onCreateOptionsMenu(menu);然后再试一次。这在 Android 中也有体现膨胀菜单资源部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解为什么 onCreateOptionsMenu 不显示菜单 的相关文章

  • 如何从 SDK 实现每个会话的 Google Places 自动完成功能?

    是否可以从 Android 和 iOS 应用程序的 place sdk 实现基于会话的自动完成 根据 6 月 11 日生效的新 Google 地图框架定价 对自动完成的请求可以分为基于击键 会话的请求 我找不到描述实施步骤的文档 除了这个参
  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • android edittext中的字符映射

    我想让我的编辑文本就像我写字符 g 时一样 它是相关的映射自定义字符应该写成印地语中的 我认为应该有字符映射 但没有知识任何人都可以帮助我 怎么做 其他应用程序https play google com store apps details
  • 如何正确释放Android MediaPlayer

    我正在尝试向我的 Android 应用程序添加一个按钮 当点击该按钮时它会播放 MP3 我已经让它工作了 但没有办法释放 mediaPlayer 对象 因此即使在我离开活动后它仍然会继续播放 如果我在react 方法之外初始化MediaPl
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • Dialog.setTitle 不显示标题

    我正在尝试向我的对话框添加自定义标题 但是每当我运行我的应用程序时 它都不会显示标题 我创建对话框的代码是 final Dialog passwordDialog new Dialog this passwordDialog setCont
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • Mipmap 与可绘制文件夹[重复]

    这个问题在这里已经有答案了 我正在使用 Android Studio 1 1 Preview 1 我注意到 当我创建一个新项目时 我得到以下层次结构 不同 DPI 的 Mipmap 文件夹 不再有不同 DPI 的可绘制文件夹 我应该将所有资
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • 问题:为什么React Native Video不能全屏播放视频?

    我正在react native 0 57 7 中为android和ios创建一个应用程序并使用反应本机视频 https github com react native community react native video播放上传到的视频
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • 如何使用 AccessibilityService 在 Android 中模拟按键

    我正在编写一个辅助服务 我一直在尝试在应用程序上进行一些自动搜索 我使用accessibilityservice action paste来填充EditText 然后我需要模拟软键盘上的按键 但我不知道如何做 你们能帮我一下吗 你可以尝试A
  • Android 后台倒计时器

    我有一个 Android 应用程序 它管理一个倒计时器 类 CountDownTimer 它显示在应用程序屏幕中 以显示到达 00 00 还剩多少时间 我现在的问题是 当我按主页按钮或启动另一个应用程序时 应用程序 计时器不会在后台运行 所
  • 发布的 Android apk 出现错误“包文件未正确签名”

    我最近将我的应用程序上传到 Android 市场 但是由于错误 下载时它拒绝运行 包文件未正确签名 我首先使用 eclipse 发布了数据包 右键单击导出 创建密钥库然后发布 但它拒绝工作 然后我下载了 keytool 和 jarsigne

随机推荐

  • jQuery:$().click(fn) 与 $().bind('click',fn);

    当使用 jQuery 连接事件处理程序时 使用 click 方法有什么区别 click fn 与使用绑定方法相比 bind click fn 除了绑定的可选数据参数之外 对于它的价值 从jQuery 源代码 jQuery each blur
  • PHPMailer 收件人地址上的字符 ñ

    当我尝试将电子邮件发送到包含字母 的收件人地址时 我在 phpmailer 上收到下一个错误 例如 致命错误 未捕获异常 phpmailerException 并带有消息 无效地址 lauro mu 电子邮件受保护 我知道它说这是一个无效地
  • 我可以通过任何方式检测驱动程序签名策略状态吗?

    我有一个修改过的驱动程序 并且必须在禁用驱动程序签名时安装 因此我想检测此状态以提醒用户重新启动到安全模式 我试过这个命令 Bcdedit exe set TESTSIGNING OFF 但是失败并提示 设置元素数据时发生错误 该值受安全启
  • Django 和 HTML 数组

    我有一个包含以下输入的表单
  • Pig、Cassandra 和 DataStax 拆分控制

    我一直在使用 Pig 和我的 Cassandra 数据来完成各种令人惊奇的分组壮举 而这些壮举几乎不可能用命令式的方式编写 我正在使用 DataStax 的 Hadoop 和 Cassandra 集成 我不得不说它令人印象深刻 向那些家伙致
  • Ajillion PHP-MySQLi-数据库类更新命令

    使用 Ajillion 制作的 MySQLi 类 https github com ajillion PHP MySQLi Database Class 我想执行以下命令 command UPDATE sessions SET active
  • 如何从 Mayavi GUI 加载 CSV 文件?

    我知道如何将 CSV 读入 numpy 并通过 Python 脚本执行此操作 这对于我的用例来说已经足够了 但由于它有一个具有数据加载功能的 GUI 我希望它能够适用于这种通用数据格式 所以我尝试进入菜单 File 加载数据 打开文件 但是
  • 使用 Func<> 提高代码可读性的机会

    今天我终于 得到 了Func lt gt delegate 并了解了如何使用它来使我的一些可读性较差的 LINQ 查询 希望如此 更具可读性 这是一个简单的代码示例 以 非常 简单的示例说明了上述内容 List
  • T-SQL 中的“WHERE IN”[重复]

    这个问题在这里已经有答案了 可能的重复 参数化 SQL IN 子句 是否可以使用查询参数来填充IN关键字 您好 我在 SQL 查询中使用 WHERE IN 因为用户可能需要输入多个 id 来显示 的记录 以逗号分隔 我现在有这个 WHERE
  • 骨干模型保存

    我正在使用 Rails 并学习 Backbone 请帮帮我 有什么方法可以在保存时设置正确的模型吗 例如 当我创建带有一些参数的新用户并尝试将其保存到数据库中时 在服务器端 我没有将用户作为对象 而是将用户字段保存在参数中 保存用户的唯一方
  • 如何在java中使用fiddler捕获https

    我正在 Eclipse IDE 中运行以下 java 程序 import java net import java io public class HH public static void main String args throws
  • 默认整数值是什么?

    我在某处读到默认浮点值 例如1 2 are double not float 那么默认整数值是多少6 他们是short int or long 以 10 为基数给出的整数文字类型是以下列表中其值可以容纳的第一个类型 int long int
  • Spidermonkey 上的垃圾收集器问题...JS_AnchorPtr()?

    我推出了自己的 javascript 服务器端语言 称为 bondi 最近刚刚升级到新的蜘蛛猴 现在JS进入本地根和离开本地根的功能从1 8 5 api中消失 无用了 只使用锚点指针就足够了 JS AnchorPtr varname 在函数
  • Jasper Reports 中的子报表

    我有两个表格要打印在同一页上 这些表的数据将从自定义数据源的地图中提供 我需要实施它 我用谷歌搜索来实现这个任务 当时我遇到了子报告的概念 但我没有得到太多关于如何实现子报告的信息 我知道如何创建子报告 但我不知道如何使用自定义数据源填充子
  • jQuery UI 滑块 -> 支持鼠标滚轮?

    你可能已经知道我是 jQuery 的新手 所以不属于这个主题的代码改进仍然是非常允许的 这是我的 HTML 代码 div style display inline block width 120px div Bananas br div d
  • jasypt-spring-boot-1.17:属性解密失败,请确保加密/解密密码匹配

    我有 jasypt spring boot 1 17 带有 spring 版本 4 2 5 RELEASE 和 spring Boot 版本 1 5 3 RELEASE 我正在使用该网站的第一种方法 https github com uli
  • JavaScript 中同一行的多个比较/赋值运算符

    function test input var value input 1 在上面 函数内部的代码行在做什么以及它是如何工作的 首先是进行比较input 1 然后分配其结果 这将是true or false 变量value The is a
  • 如何自定义 HTML5 日期选择器

    我试图了解如何以特定方式自定义 HTML5 日期选择器 特别是格式类似于 日历图标 8 月 31 日 星期二右侧插入符号将打开日期选择器 经过一些初步搜索后 我找到了这些用于自定义日期输入文本框的伪元素 webkit datetime ed
  • c++ - FreeImage+OpenCV - 16 位图像扭曲

    我正在尝试加载图像 因为我必须对其应用算法 如果我加载每通道 8 位图像 则没有问题 但如果我加载 16bpc 图像 则会 毁掉 不幸的是 由于我没有足够的声誉 我无法上传图像 这些是它们的链接 源和 8bpc 处理结果 http post
  • 了解为什么 onCreateOptionsMenu 不显示菜单

    我正在阅读 Android For Dummies 一个例子使用了 onCreateOptionsMenu 我添加了一条日志消息 Override public boolean onCreateOptionsMenu Menu menu s