【问题标题】:Android, Adding window failed when PopupMenu.show()Android,PopupMenu.show()时添加窗口失败
【发布时间】:2015-05-11 03:35:38
【问题描述】:

我在我的 WebView Activity 中添加了一个菜单。执行 PopupMenu.show() 时,应用程序有时会崩溃。

java.lang.RuntimeException:添加窗口失败 android.view.ViewRootImpl.setView(ViewRootImpl.java:536) 在 android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:260) 在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69) 在 android.widget.PopupWindow.invokePopup(PopupWindow.java:1019) 在 android.widget.PopupWindow.showAsDropDown(PopupWindow.java:925) 在 android.widget.ListPopupWindow.show(ListPopupWindow.java:629) 在 com.android.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:148) 在 com.android.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:113) 在 android.widget.PopupMenu.show(PopupMenu.java:167) 在 com.lukouapp.app.ui.base.LKWebActivity.showMenu(LKWebActivity.java:275) 在 com.lukouapp.app.ui.base.LKWebActivity.onOptionsItemSelected(LKWebActivity.java:316) 在 android.app.Activity.onMenuItemSelected(Activity.java:2618) 在 android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:350)

【问题讨论】:

  • 没人遇到过这个问题吗?
  • 我在我的应用程序中看到它,但仅在 Android 4.4 上,主要是三星手机和平板电脑上的大部分。

标签: android crash popupmenu


【解决方案1】:

您可以在显示弹出/警报对话框之前简单地添加 !isFinishing() 检查

这是它的示例代码

if(popup!=null&&!isFinishing()) {
    popup.show();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 2014-08-12
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 2014-06-03
    • 2013-07-31
    相关资源
    最近更新 更多