- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我长按 ListView 中的列表项,并且我已经注册了一个上下文菜单,然后该菜单将显示并且用户可以选择一个选项时,就会发生上述错误。
我在实际设备上没有收到任何错误,但在模拟器(API 级别 25)上我发现了上述错误。在堆栈跟踪中,没有引用我自己的代码,但它来自 MenuPopupWindow 第 141 行,如下所示(这是 Android 预定义类,不是我的类)。当我在 Android 源代码中查看该文件时,有这样一行:
((MenuAdapter) getAdapter()).getAdapterMenu().close(false /* closeAllMenus */);
这似乎会导致以下异常:
E/UncaughtException:java.lang.ClassCastException:android.widget.HeaderViewListAdapter 无法转换为 com.android.internal.view.menu.MenuAdapter 在 android.widget.MenuPopupWindow$MenuDropDownListView.onKeyDown(MenuPopupWindow.java:141)
我已检查调用 fragment 中的 onCreateContextMenu 方法没有问题 - 崩溃发生在 onCreateContextMenu 执行完成后。
我之前在模拟器或真实设备上都没有遇到过类似的问题,但这只是在将 UI 库升级到 androidx 库之后才会发生。
所以我想知道这是否与它有关(但它在真实设备上运行没有问题。由于问题发生在 Android 内部类中,我有点不知道如何解决这个问题,或者这是否与我的代码有任何关系,或者它是否是一个内部 Android 错误?
更新:当我省略以下行时,它不会在模拟器上崩溃(但显然我的上下文菜单没有标题):
menu.setHeaderTitle("Tournament options");
菜单来自重写方法内部:
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo)
此外,我在运行 API 29 的模拟器上也没有收到此错误。我测试的设备运行 API 28。由于我没有具有 API 25 的真实设备(在模拟器上崩溃),我不确定它是否会在具有 API 25 的真实设备上崩溃。但是当然,令人担心的是模拟器API 25 崩溃。
任何帮助表示赞赏。
最佳答案
嗯,我冷启动了模拟器,然后在任何 API 级别上都没有问题。只是想我会把它作为答案发布,以防其他人遇到这个问题。一定是 API 级别 25 上的模拟器软件错误。
关于java - 类转换异常 : HeaderViewListAdapter cannot be cast to MenuAdapter in Android when using a ContextMenu with a header title,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62223023/
这个问题在这里已经有了答案: How to configure ContextMenu buttons for delete and disabled in SwiftUI? (4 个回答) 4 个月
我在弄清楚如何设置正确的 DataContext 时遇到了一些麻烦。在 ContextMenu . 我有一组 View 模型,它们是 ItemsControl 的来源.每个 View 模型都有一个项目
我正在寻找一个关于在 WPF 中设置 ContextMenu 和 ContextMenu Items 样式的好例子。我想要的是 ContextMenu、Menu 和 MenuItems 如何一起玩的分
我的 WPF XAML 中定义了一个上下文菜单,如下所示: 我使用 System.Windows.Forms.NotifyIcon“myIcon”作为我的托盘
我在基于 Canvas 的 WPF 中制作了一个非常漂亮的 NodeGraph,现在我正在通过右键单击菜单添加漂亮的功能。 这些菜单是上下文相关的。这意味着右键单击图表的背景将显示图表上下文菜单,而右
如何复制我在一个 ContextMenu 中创建的 MenuItem 并将其复制以便我可以在第二个 ContextMenu 中使用它? 我试图直接复制它并删除它,但我得到元素已经有一个逻辑父元素。它必
registerForContextMenu(validate_button); @Override public void onCreateContextMenu(ContextMenu m
我正在使用 jquery contextmenu plugin这是我的 DEMO 下面是我的代码: $(function () { $.contextMenu({ sele
我正在使用 MVVM 将 View 绑定(bind)到树中的对象。我有一个实现树中项目的基类,该基类有一个 ContextMenu 属性: public IEnumerable Context
在旧 View 模型中有一个 ContextMenu 属性 ` public static ContextMenu DropDownMenu { get { return _Dr
Chrome 会触发 contextmenu 事件,但不会触发右键单击的 click 事件。 Firefox 会触发两者。 我正试图找到一些官方引用或解释,我很惊讶我从来没有遇到过这个。 http:/
默认情况下 JavaFX TextField有一个内置 ContextMenu带有“撤消”、“复制”、“剪切”等选项。 ComboBox也有同样的ContextMenu当它被设置为可编辑时( Comb
右键单击后,我一直坚持管理上下文菜单。实际上,我需要为文件夹显示一些上下文菜单项,为文件夹显示一些上下文菜单项。 单击文件夹上下文菜单将如下所示: create remove rename new 单
我正在尝试为 ScrollBars 替换 ContextMenu,我已经编写了这段代码:
我有一些 ContextMenu 和一些 menuItems。 menuItems 之一是“添加项目...”。当用户选择这个项目时,他应该看到带有可用项目列表的子菜单; 这是我的上下文菜单的描述: A
我想使用 jQuery.contextMenu: http://abeautifulsite.net/blog/2008/09/jquery-context-menu-plugin 在 jQuery.
我有包含多个项目的 ListBox(SelectionMode=Extended),我想添加上下文菜单功能。问题是如何根据某些条件动态创建上下文菜单。例如。如果只选择了一个项目,我想显示常规上下文菜单
我有一个通过数据绑定(bind)获取菜单项的上下文菜单(我使用的是 MVVM 模式): 这工作正常。但是,在没有要显示的菜单项的情况下,我根本不希望显示上下文菜单。有没有办法做到这一点?某种 XAM
我正在学习javafx.scene.control.ContextMenu,现在我面临一个问题: 如何从EventHandler获取被点击的对象? event.source() 和 event.tar
所以我有一个复杂的上下文菜单。它不只是菜单项。它也有单选按钮,底部有一个堆栈面板,上面有一个整数上下框。
我是一名优秀的程序员,十分优秀!