如果没有锚点,则无法使用菜单弹出帮助程序

2024-01-03

我想在操作栏中使用弹出菜单项。当我在活动中使用它时一切正常,但是当我切换到片段时我得到:

MenuPopupHelper cannot be used without an anchor

我的片段:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    
    switch(item.getItemId()) {
        case R.id.action_filter:
            createCategoriesPopupMenu(item);
            return true;
        case R.id.action_sort:
            createSortPopupMenu(item);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}


private void createSortPopupMenu(MenuItem item)
{
    PopupMenu popup;
    
    final View menuItemView = getView().findViewById(item.getItemId());
    
    Log.wtf("d","item getitemid"+item.getItemId());
    
    if (menuItemView == null)
    {
        Log.wtf("d","menuItemView==null view"+view.findViewById(item.getItemId()));
        Log.wtf("d","menuItemView==null getAc"+getActivity().findViewById(item.getItemId()));
        
        //final View searchItemView = getView().findViewById(R.id.action_search);
        //popup = new PopupMenu(getActivity(), searchItemView);
    }

        popup = new PopupMenu(getActivity(), menuItemView);

    Menu menu = popup.getMenu();
    
    addSortMenuItems(menu);

    popup.setOnMenuItemClickListener(new OnMenuItemClickListener()
    {
        @Override
        public boolean onMenuItemClick(MenuItem item)
        {
            onSortMenuItemClick(item);
            return true;
        }
    });

    popup.show();
}   
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.issues_list_menu, menu);

    super.onCreateOptionsMenu(menu, inflater);
}

控制台输出(断言):

07-08 14:08:16.659: A/d(1677): 项目 getitemid2131165600 07-08

14:08:16.659:A/d(1677):menuItemView==null viewnull 07-08

14:08:16.663:A/d(1677):menuItemView==null getAcnull

我没有忘记 setHasOptionsMenu(true);在 onCreateView() 中 和view是膨胀的布局onCreateView()


好的,我在 xml 菜单文件中的项目中找到了解决方案,我们要添加需要设置的弹出窗口

android:showAsAction="always"

因为弹出窗口仅适用于操作栏中的图标,不适用于菜单中的图标。还使用 getActivity().findView... 而不是 getView().findView...

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

如果没有锚点,则无法使用菜单弹出帮助程序 的相关文章

  • Android 改变 ImageView / Bitmap 的颜色

    我需要找到一种方法来改变 Android 中位图的颜色 我需要在我的应用程序中平滑地替换 更改椭圆形图像的颜色 具体取决于int价值 我需要类似的东西myValue 5比改变我的图像的颜色RED and if myValue 322将颜色更
  • 如何在android中的操作栏中创建Edittext?

    我们可以在操作栏中使用编辑文本吗 在阅读了 Google 中的大量资源后 我找不到如何在操作栏中创建编辑文本 谁能告诉我该怎么做 您可以设置自定义View为了ActionBar像这样 getActionBar setCustomView R
  • Ionic Facebook Api 无效密钥哈希

    我无法让我的应用程序允许 Facebook 登录 每次用户尝试登录 Facebook 并使用他们的 FB 验证我的应用程序时 都会出现以下错误 无效的密钥哈希 它们的密钥哈希 xxxxxxxxxx 与任何存储的密钥哈希不匹配 配置您的应用程
  • 套接字的读写如何同步?

    我们创建一个套接字 在套接字的一侧有一个 服务器 在另一侧有一个 客户端 服务器和客户端都可以向套接字写入和读取 这是我的理解 我不明白以下事情 如果服务器从套接字读取数据 它在套接字中是否只看到客户端写入套接字的内容 我的意思是 如果服务
  • 使用 Guice 优化注册表

    你好 今天思考了一种优化 有一些疑问 语境 我正在使用 Guice 2 进行 Java 开发 在我的网络应用程序中 我有一个转换器注册表 可以即时转换为某种类型 转换器描述如下 public class StringToBoolean im
  • 不显示 WRITE_EXTERNAL_STORAGE 的权限对话框

    I want to download a file using DownloadManager And DownloadManager wants to WRITE EXTERNAL STORAGE permission I have in
  • 从 GitHub 上托管的 Spring Cloud Config Server 访问存储库的身份验证问题

    我在 GitHub 上的存储库中托管配置 如果我将回购公开 一切都好 但如果我将其设为私有 我将面临 org eclipse jgit errors TransportException https github com my user m
  • GWT 2.3 开发模式 - 托管模式 JSP 编译似乎不使用 java 1.5 兼容性

    无法编译 JSP 类 生成的 servlet 错误 DefaultMessage 上次更新 0 日期 中 0 时间 HH mm ss z 语法 错误 注释仅在源级别为 1 5 时可用 在尝试以开发模式在 Web 浏览器中打开我的 gwt 模
  • 使用 Mockito 模拟某些方法,但不模拟其他方法

    有没有办法使用 Mockito 模拟类中的某些方法 而不模拟其他方法 例如 在这个 诚然是人为的 Stock我想嘲笑的班级getPrice and getQuantity 返回值 如下面的测试片段所示 但我想要getValue 执行乘法 如
  • 流中的非终结符 forEach() ?

    有时 在处理 Java Stream 时 我发现自己需要一个非终端 forEach 来触发副作用但不终止处理 我怀疑我可以用 map item gt f item 之类的方法来做到这一点 其中方法 f 执行副作用并将项目返回到流中 但这似乎
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • 在 Android 布局 xml 文件中使用字符串格式参数 [重复]

    这个问题在这里已经有答案了 我在 String xml 文件中定义了一个使用格式参数的字符串 即
  • 更改Android菜单的背景颜色[重复]

    这个问题在这里已经有答案了 我正在尝试将标准浅灰色更改为浅绿色 似乎没有一个简单的方法可以做到这一点 例如 通过 Android 主题 但我找到了一个解决方法 如本页所述 http tinyurl com 342dgn3 http tiny
  • Android:无法发送http post

    我一直在绞尽脑汁试图弄清楚如何在 Android 中发送 post 方法 这就是我的代码的样子 public class HomeActivity extends Activity implements OnClickListener pr
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就
  • Java中HashMap和ArrayList的区别?

    在爪哇 ArrayList and HashMap被用作集合 但我不明白我们应该在哪些情况下使用ArrayList以及使用时间HashMap 他们两者之间的主要区别是什么 您具体询问的是 ArrayList 和 HashMap 但我认为要完
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 将 Apache Camel 执行器指标发送到 Prometheus

    我正在尝试转发 添加 Actuator Camel 指标 actuator camelroutes 将交换 交易数量等指标 发送到 Prometheus Actuator 端点 有没有办法让我配置 Camel 将这些指标添加到 Promet
  • 如何以编程方式创建活动转换?

    我想以编程方式创建一个动画 以从触摸屏点启动具有缩放效果的活动 接下来我模拟缩放输入效果
  • 配置“DataSource”以使用 SSL/TLS 加密连接到 Digital Ocean 上的托管 Postgres 服务器

    我正在尝试托管数据库服务 https www digitalocean com products managed databases on 数字海洋网 https en wikipedia org wiki DigitalOcean 创建了

随机推荐

  • 如何在 Mac 10.8.3 上安装 qpdf?

    跑步时R CMD check在 Mac 构建服务器上的包上 我收到警告 qpdf is needed for checks on size reduction of PDFs 我似乎无法得到qpdf http sourceforge net
  • 自定义 SQL GROUP BY 子句

    我有一个非常定制的 SQL 查询 但在实现时遇到问题 我正在使用 SQL Server 2008 我在此查询中只有一张表 但我正在寻找非常具体的数据 该查询的要求是 对于每个不同的 PartNumber 列 我需要选择要选择的最新 最大 P
  • 如何让 LINQ 全外连接正常运行?

    我正在构建一个 WPF 应用程序来监视用户计算机上的目录 该应用程序从受监控的目录上传文件 然后将一些信息保存到 SQLite 数据库中 部分业务处理是对已经上传的文件不重新处理 对已经上传但自上次上传后发生变化的文件重新上传 我有两个构建
  • 在 C++ 中将值从 X 更改为 X 会导致数据争用吗?

    我有可处理具有不同布局的大数据块的代码 布局将决定哪些数据是固定的 哪些数据是不固定的 一旦数据被固定在一个块中 它通常就不会再改变 所以所有读取数据的代码总是会看到相同的数据 但是 其他服务可以在这些块中进行更改 只要它们确定没有代码将读
  • 如何扩展 Phaser 3 游戏及其资产以使其在智能手机和平板电脑上运行?

    我刚开始使用 Phaser 3 和 Apache C rdova 创建移动 Android 游戏 我创建了一个 1200 x 800 像素的游戏 它在平板电脑上看起来不错 但在智能手机上却不然 如何缩放它以适应多种屏幕尺寸 此外 我需要帮助
  • Sencha touch 2:在itemTpl中获取项目索引

    在XTemplate的文档中 可以使用 来获取当前数组索引 当我在 xlist 的 itemTpl 中使用它时 我总是得到 1 而不是索引 xtype list store myStore itemTpl new Ext XTemplate
  • 多个项目和一种解决方案有什么好处? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 this(...) 或 super(...) 之前“插入”代码?

    有没有办法在调用之前进行初步计算super or this 构造函数 考虑以下示例 public class Test private final int n private final int m private final int st
  • 使用 JUnit 5 并行执行测试用例

    是否可以与 JUnit 5 并行执行测试用例 我正在寻找类似的东西threadPoolSize and invocationCount from TestNG http testng org doc documentation main h
  • 为 string.Contains 构建表达式树[重复]

    这个问题在这里已经有答案了 我正在努力构建一个表达式树 以便我可以动态地对某些数据进行过滤 我已经想出了这个 但它失败了var lambda line foreach var rule in request Where Rules var
  • 是什么使 Bean 成为 CDI Bean?

    例如 在这个问题的最佳答案中 Java EE 6 javax annotation ManagedBean 与 javax inject Named 与 javax faces ManagedBean https stackoverflow
  • 空类构造函数(样式)

    什么是定义不需要任何构造函数参数的类的 Pythonic 方法 class MyClass class body 或者我们需要一个显式的构造函数吗 IE class MyClass def init pass class body 您的第一
  • 视频缩略图

    我正在开发一个人们可以提交视频链接的网站 然后我就嵌入它 但是 我想获取视频的缩略图而不将视频保存在我的服务器中 这样当我列出视频时 我可以使用缩略图而不是嵌入所有视频 我的服务使用 PHP 假设视频为 SWF 格式 或标签中是否有任何内容
  • CKEditor - 无工具栏

    所以我得到了一个textarea with CKEditor插件 但我只想让它干净 没有任何东西 没有工具栏 没有状态栏或任何栏 这很简单 但我在文档或网络上找不到它 My CKEditor开始于 texto ckeditor skin o
  • 升级到 Swift 3 后,属性“self.delegate”未在 super.init 调用中初始化

    升级到 Swift 3 后 我现在收到此错误 属性 self delegate 未在 super init 调用时初始化 在 NSObject 类上定义 open class NSObject NSObjectProtocol public
  • Android Oreo WebView 在第二次加载后渲染布局太小

    在某些 Android Oreo 设备上 当我第一次在 webview 上加载 url 时 URL 页面会正确加载 但是 当我再次加载 URL 时 页面会缩小 在低于 android oreo 的设备上 页面可以为所有设备正确加载 此外 当
  • VS2008 中“<<”和“++”的运算符优先级优化

    我遇到了一个奇怪的 VS2008 C 问题 看起来运算符优先级没有得到尊重 我的问题是这个的输出是什么 int i 0 std cout lt lt i 0 Not zero zero lt lt i lt lt std endl 通常情况
  • 如何在 WordPress 主题中包含 jQuery?

    我对 WordPress 还很陌生 我正在研究如何将 jQuery 包含到主题中 我将以下函数创建为函数 php theme function load java scripts Load FlexSlider JavaScript tha
  • 在选项卡栏开关上弹出到根导航控制器时出现问题

    尝试模仿 复制内置地址簿 特别是从 电话 应用程序内部编辑联系人或查看现有联系人信息时的行为 当您导航到另一个选项卡时 编辑状态将重置 并弹出 新联系人 或 信息 视图 以便当您返回 联系人 选项卡时 您将返回到根表视图 我使用 setEd
  • 如果没有锚点,则无法使用菜单弹出帮助程序

    我想在操作栏中使用弹出菜单项 当我在活动中使用它时一切正常 但是当我切换到片段时我得到 MenuPopupHelper cannot be used without an anchor 我的片段 Override public boolea