由于我的特殊情况,我遇到了这个错误最困难的时候,但最终找到了解决方案。
我的情况:我正在使用一个单独的视图(XML),它包含一个WebView
,然后在AlertDialog
我单击主活动视图中的按钮时打开。但不知何故WebView
属于主要活动视图(可能是因为我从这里提取资源),所以在我将它分配给我的AlertDialog
(作为一个视图)之前,我必须得到我的父级WebView
,把它放到一个ViewGroup
,然后删除所有关于那个的意见ViewGroup
。这有效,我的错误消失了。
// set up Alert Dialog box
AlertDialog.Builder alert = new AlertDialog.Builder(this);
// inflate other xml where WebView is
LayoutInflater layoutInflater = (LayoutInflater)this.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
View v = layoutInflater.inflate(R.layout.your_webview_layout, null);
final WebView webView = (WebView) v.findViewById(R.id.your_webview_id);
// more code...
....稍后在我加载我的WebView
....
// first, remove the parent of WebView from it's old parent so can be assigned a new one.
ViewGroup vg = (ViewGroup) webView.getParent();
vg.removeAllViews();
// put WebView in Dialog box
alert.setView(webView);
alert.show();