Tuve el momento más difícil con este error, debido a mis circunstancias únicas, pero finalmente encontré una solución.
Mi situación: estoy usando una vista separada (XML) que contiene una WebView
, luego se abre en una AlertDialog
cuando hago clic en un botón en mi vista de actividad principal. Pero de una forma u otra WebView
pertenecía a la vista de actividad principal (probablemente porque saqué el recurso de aquí), así que justo antes de asignarlo a mi AlertDialog
(como una vista), tuve que obtener el padre de mi WebView
, ponerlo en un ViewGroup
, luego elimine todas las vistas sobre eso ViewGroup
. Esto funcionó y mi error desapareció.
// 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...
... más tarde, después de cargar mi 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();