Приложение аварийно завершает работу, если вы повторно используете веб-просмотр в onCreateWindow.
Вместо веб-просмотра используйте ViewGroup в макете экрана, присвойте ему те же параметры макета (местоположение, размер и т. Д.), Что и веб-просмотру (mWebViewPopup).
@Override
public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, android.os.Message resultMsg)
{
contentContainer.removeAllViews();
WebView childView = new WebView(mContext);
childView.getSettings().setJavaScriptEnabled(true);
childView.setWebChromeClient(this);
childView.setWebViewClient(new WebViewClient());
childView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
contentContainer.addView(childView);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(childView);
resultMsg.sendToTarget();
return true;
}
в вышеуказанном коде
1) Я установил параметры макета так, чтобы мои веб-представления заполняли родительский элемент, вы должны использовать параметры макета в соответствии с вашими требованиями.
2) mContext => объект контекста
3) contentContainer => viewgroup, которая была объявлена в XML, предназначенная для содержания веб-представления
Это не чисто, но решает проблему.