如何在Google新的NavigationView中将MenuItem添加到SubMenu?

2023-11-29

我为抽屉菜单制作了一个 xml,其中包含以下 MenuItem:

<item android:title="Contacts"
    android:id="@+id/contact_list">
  <menu>

  </menu>
</item>

在我的 MainActivity 中,我获得了对空子菜单的引用,并尝试将新的测试菜单项添加到子菜单中。

mNavMenu = mNavigationView.getMenu();
mNavMenu.findItem(R.id.contact_list).getSubMenu().add("hello");

不幸的是,这不起作用,并且未添加菜单项。我尝试过许多其他不同的变体,但它们都没有更新我的导航抽屉中的子菜单。

这可能是一个错误吗?


显然,现在唯一的解决方案是使用反射来调用菜单上的notifyDataSetChanged():

    for (int j = 0, count = mNavigationView.getChildCount(); j < count; j++) {
      final View child = mNavigationView.getChildAt(j);
      if (child != null && child instanceof ListView) {
        final ListView menuView = (ListView) child;
        final HeaderViewListAdapter adapter = (HeaderViewListAdapter) menuView.getAdapter();
        final BaseAdapter wrapped = (BaseAdapter) adapter.getWrappedAdapter();
        wrapped.notifyDataSetChanged();
      }
     }

这将用您的新项目更新菜单。

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

如何在Google新的NavigationView中将MenuItem添加到SubMenu? 的相关文章

随机推荐

  • 为什么Java程序需要“main()”方法?

    这只是一个命名约定 为什么从 shell 执行程序时不能调用任何方法 例如 gt java myPackage MyClass myOwnEntryPoint String str 是的 这是一个命名约定 继承自C 这样做的好处是 只需查看
  • 为 Seq2Seq 模型添加注意力层

    我已经构建了编码器 解码器的 Seq2Seq 模型 我想为其添加一个注意力层 我尝试添加注意力层通过这个但这没有帮助 这是我最初的代码 没有注意 Encoder encoder inputs Input shape None enc emb
  • LESS 使用类名声明变量?

    我有一个为元素设置填充等的按钮类 后面跟着一个定义背景颜色的类 button padding 0 5em 1em text transform uppercase color fff green background green decla
  • Rails3 与 SQL Server 2000 对话-----ActiveRecord::JDBCError: 'ROW_NUMBER' 不是可识别的函数名称

    一个简单的 Rails 3 应用程序尝试使用 activerecord jdbc adapter 与 SQL Server 2000 进行通信 我尝试了 microsoft jdbc 驱动程序和 jtds 驱动程序 似乎连接数据库正常 当需
  • 如何查看X++ select语句的SQL表达式?

    我在 AX 的一份工作中有以下声明 select RecId from pjiTable join pID Type PrId from sjTable where pjiTable Prid sjTable PrId sjTable Ty
  • Ember、mixin 来检测视图/组件之外的点击

    我正在编写一个 Mixin 来处理用户在视图 组件之外单击时的情况 这是混合 App ClickElsewhereMixin Ember Mixin create onClickElsewhere Ember K didRender fun
  • 重复 cookie 查询或存储在视图状态中?哪个是更好的做法?

    我有一个用户登录的内部网站 该数据被保存为 cookie 从那里 用户继续他们的快乐之路 应用程序经常会查询身份验证记录以确定用户拥有哪些权限 我的问题是 在需要时查询 cookie 来获取用户数据 还是将用户信息保存在 viewstate
  • 使用 SearchView 实现自定义搜索

    我想在我的应用程序中实现搜索 但我不想使用单独的活动来显示我的搜索结果 相反 我只想使用显示在下方的建议列表SearchView 我可以用setOnQueryTextListener on the SearchView 聆听输入并搜索结果
  • Rails 4:heroku 基本计划上的 ConnectionTimeoutError

    我们正在研究一个简单的 Rails 4 网络应用程序 由 Heroku 托管 免费计划 最近 我们正在经历一些ActiveRecord ConnectionTimeoutError 每隔几天就会发生一次 我们并不真正了解其背后的原因 您可能
  • Laravel 5 路由分页 url 编码问题

    我构建了一个 Laravel 5 应用程序 现在正在测试它如何处理不同的输入 因此我遇到了一个奇怪的问题 在标题中我有一个搜索字段 它返回结果 按 10 分页 问题 如果用户输入一个字母 例如英语中的 e 一切都会正常 但是 当用户输入字母
  • 使用正则表达式重新字符串匹配提取 URL 链接 - Python

    我一直在尝试使用 re api 从文本文件中提取 URL 任何以 http https 和 www 开头的链接 该文件包含文本以及 html 源代码 html 部分很容易 因为我可以使用 BeautifulSoup 提取它们 但普通文本似乎
  • 工作窃取算法[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在读一篇关于并发运行时的文章 其中有一个算法名为work stealing在本文中 但我不知道这个算法是什么 所以我想要一些解释或一些好的链接来帮助我介绍这个算法 这些有帮助
  • R错误:要替换的项目数不是替换长度R的倍数

    我编写了以下代码并收到错误 要替换的项目数不是代码行中替换长度的倍数 X after count c censN1 censN2 censN3 网上查了一下 发现问题可能是由于预先确定的样本数量不匹配造成的 n samples of NA和
  • 如何通过不同端口(80 除外)启动 nginx

    你好 我是 nginx 的新手 我尝试在我的服务器 运行 Ubuntu 4 上设置它 该服务器已经运行了 apache 所以之后我apt get install它 我尝试启动nginx 然后我收到这样的消息 Starting nginx t
  • 致命错误和非致命错误之间的区别

    当尝试编译代码时 IDE 中显示的致命错误和非致命错误之间的主要区别是什么 在这两种情况下 编译器都会显示错误消息 并且程序不会被编译 致命错误是编译器或链接器中未定义的编译器错误吗 A 致命错误可能会立即停止编译该翻译单元 编译器可能会在
  • 请求实体太大 PHP

    在我的 CakePHP 站点之一中 我收到此错误 请求的实体太大 我不知道出了什么问题 我认为我通过表单发布的数据太大 我在搜索引擎中搜索了这个 发现我必须增加post max size 默认情况下我认为它设置为8M 但不知道如何增加pos
  • Puppeteer - 协议错误 (Page.navigate):目标已关闭

    正如您在下面的示例代码中看到的 我使用 Puppeteer 和 Node 中的一组工作人员来通过给定 URL 运行多个网站屏幕截图请求 const cluster require cluster const express require
  • JsonMappingException:当前令牌不是 START_OBJECT(需要解开根名称“Transaction[]”),而是 START_ARRAY

    我正在使用Spring的休息模板来消耗充电接口 使用 JSON 作为负载格式 它一直进行得很顺利 但是当我尝试获取对象数组时 它惨败了 例如 请考虑以下情况 Transaction transactions restTemplate get
  • 为什么分配一个任务然后等待它允许并行运行[重复]

    这个问题在这里已经有答案了 我一直在玩异步 我遇到了一些我以前没有注意到的行为 如果这是重复的 请告诉我 但我的谷歌福让我失败了 主要是因为我想不出合适的搜索条件 给定一个简单的异步方法来执行一些参数化工作 async Task
  • 如何在Google新的NavigationView中将MenuItem添加到SubMenu?

    我为抽屉菜单制作了一个 xml 其中包含以下 MenuItem