- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我通过扩展 ViewGroup
创建了一个简单的自定义布局。我在 init()
上创建了一个 Button
和一个 PopupMenu
。如果按下按钮,将显示 PopupMenu
。问题是,当显示 PopupMenu
时,如果我旋转设备,我会收到以下错误消息。
E/WindowManager: android.view.WindowLeaked: Activity has leaked window android.widget.PopupWindow$PopupDecorView{c44e7da V.E...... ......ID 0,0-392,960} that was originally added here
我发现了一个类似的问题(PopupMenu PopupWindow$PopupViewContainer leak),解决方案是调用 PopupMenu
onStop()
的 dismiss()
.但是,由于这不是 Activity 而是 ViewGroup
,因此我没有 onStop()
。所以,我试图找到一个类似命名的事件,并找到了 onDetachedFromWindow()
。我在 onDetachedFromWindow()
中调用了 dismiss()
。
onDetachedFromWindow()
确实在屏幕旋转之前被调用,但我仍然收到 WindowLeaked 错误消息。
我该如何解决这个问题?实际上,应用程序似乎工作正常,我得到的只是日志中的错误消息。这个错误可以忽略吗?
最佳答案
这个答案对您来说可能为时已晚,但我会分享我发现的内容,以防其他人感兴趣。 PopupMenu
在内部使用 PopupWindow
。当您调用 PopupMenu.dismiss()
时,它会调用 PopupWindow.dismiss()
但在指定退出转换时关闭 PopupWindow
不是立即的。尽管您在适当的时间调用了 dismiss()
,但窗口实际上并没有足够快地从层次结构中移除。它需要在您的 Activity 被销毁之前删除,以免出现此泄漏错误。我没有看到立即关闭 PopupMenu
的方法。一种可能的解决方法是直接使用 PopupWindow
而不是 PopupMenu
,并在关闭之前调用 setExitTransition(null)
。
关于android - 在显示 PopupMenu 时旋转,获取 android.view.WindowLeaked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37323761/
我希望在 XPage 中有一个右键单击弹出菜单。因此,我使用扩展库在 XPages 中创建了一个弹出菜单。无论我尝试什么,菜单都不显示。我必须将它绑定(bind)到一个按钮吗?如果是,怎么办?? 最佳
我希望在 XPage 中有一个右键单击弹出菜单。因此,我使用扩展库在 XPages 中创建了一个弹出菜单。无论我尝试什么,菜单都不显示。我必须将它绑定(bind)到一个按钮吗?如果是,怎么办?? 最佳
我创建了一个 ListView有一个 PopupMenu在每个项目中。我创建了一个 menu layout并将其用作我的PopupMenu .我的问题是每次单击 ListView 项目中的省略号选项时
我正在制作一个应用程序,我希望在 java 弹出菜单(如下所示)中为启动时运行的选项添加一个复选框。 弹出菜单如下:/image/JLZQE.jpg 如何将“启动时运行”选项设为复选框。 最佳答案 看
我在不断重新绘制的框架上使用 AWT PopupMenu(这是一个游戏),但每当 PopupMenu 显示时,父框架就会卡住。有办法禁用这个吗? 最佳答案 我假设应用程序的其余部分是用 Swing 制
我正在尝试寻找如何将项目添加到 devExpress PopupMenu。我尝试了以下方法: manager = new BarManager(); listBoxMe
我有一个 XML 菜单: 我想向 orders_filter_messages_group 添加一些项目,所以我这样做了
我已经创建了更改弹出菜单背景颜色的样式,现在我还需要知道如何更改菜单项文本颜色。下面是我使用的样式 @style/PopupMenu @color/popup_menu_bg_c
我想在 android 中自定义 popupmenu,默认的弹出菜单提供了更多空间,所以我试图更改弹出菜单中的自定义布局,但我不知道该怎么做。 注意:我想做这个小的弹出式设计,所以我使用默认的弹出式菜
我有一个 listView,其中每个项目都有一个按钮,可以打开带有选项的 PopupMenu。 大多数时候,这些菜单在错误的位置打开(有时它们在正确的位置打开),这些随机打开甚至不一致。 在菜单中选择
我有一个 PopupMenu,用户可以在其中切换启用或不启用哪些项目。 但是,每次用户按下一个按钮时,菜单就会消失。 是否有解决此问题的方法? 应要求,这是我目前正在使用的代码: final P
根据 How to style PopupMenu?你不能直接设置弹出菜单样式,这似乎与https://developer.android.com/reference/android/widget/P
在 Android API 23 中,我有一个带有子菜单项的弹出菜单。我把重力定义到最后,如图 popupMenu = new PopupMenu(this, v, Gravity.END); pop
我有一个 MaterialApp与 TextField s,它们有默认的弹出菜单(带有“剪切”、“复制”和“粘贴”项)。 我的问题是:他们的文字颜色总是白色 - 所以这些项目都是不可见的,因为我的背景
NSStatusItem.popUpMenu 已在 macOS 10.14 中弃用,但我找不到一个不错的替代方案。 let m = statusItem.menu! statusItem.popUpM
我有一个 VCL 控件,但我没有该控件的源,该控件没有 PopupMenu 属性和关联的事件。我怎样才能添加这个? 该控件(根据文档)继承自 TCustomControl,而 TCustomContr
我有一个带有子菜单的弹出菜单,一次只能检查一项。据我尝试,GroupIndex 和 RadioItem 属性在各自的子菜单之外不起作用。 我找到了this piece of code检查 PopupM
当选择未设置 PupupMenu 属性的 TDBEdit 控件并单击鼠标右键时,Delphi 5(是的,我知道它很旧)和 Delphi 10.1 之间的行为似乎有所变化。在 Delphi 5 TDBE
有没有办法在 PopupMenu 中渲染像 JPanel 一样的图形(使用 TrayIcon)?我知道使用 JPopupMenu 是可能的,但我不喜欢如果我单击弹出窗口外部,弹出窗口不会关闭(并且图标
现在我正在尝试使用 Android 3.0 (API 11) ECLIPSE 做另一个弹出式项目。但我有错误。无法实例化类型 PopupMenu.OnMenuItemClickListener Mai
我是一名优秀的程序员,十分优秀!