Android,PopupMenu.show()时添加窗口失败

行是知之始,知是行之成。这篇文章主要讲述Android,PopupMenu.show()时添加窗口失败相关的知识,希望能为你提供帮助。
我在WebView Activity中添加了一个菜单。当PopupMenu.show()执行时,应用程序有时会崩溃。

java.lang.RuntimeException:在android.view.WindowManagerImpl.addView(WindowManagerImpl。)的android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:260)的android.view.ViewRootImpl.setView(ViewRootImpl.java:536)中添加窗口失败。 java:69)在android.widget.PopupWindow.invokePopup(PopupWindow.java:1019)的android.widget.PopupWindow.showAsDropDown(PopupWindow.java:925)在android.widget.ListPopupWindow.show(ListPopupWindow.java:629)at com.android.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:148)位于android.widget.PopupMenu.show的com.android.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:113) PopupMenu.java:167)com.lukouapp.app.ui.base.LKWebActivity.showMenu(LKWebActivity.java:275)at com.lukouapp.app.ui.base.LKWebActivity.onOptionsItemSelected(LKWebActivity.java:316)at android .app.Activity.onMenuItemSelected(Activity.java:2618)在android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:350)
答案您只需在显示popup / alertDialog之前添加!isFinishing()检查
【Android,PopupMenu.show()时添加窗口失败】这是它的示例代码
if(popup!=null& & !isFinishing()) { popup.show(); }


    推荐阅读