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

问题描述 投票:2回答:1

我在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)

android crash popupmenu
1个回答
0
投票

您只需在显示popup / alertDialog之前添加!isFinishing()检查

这是它的示例代码

if(popup!=null&&!isFinishing()) {
    popup.show();
}
© www.soinside.com 2019 - 2024. All rights reserved.