Eu tive mais dificuldade com esse erro, devido às minhas circunstâncias únicas, mas finalmente encontrei uma solução.
Minha situação: estou usando uma exibição separada (XML) que contém a WebView
e é aberta em uma AlertDialog
quando clico em um botão na minha exibição principal de atividades. Mas, de uma forma ou de outra, WebView
pertencia à visualização principal de atividade (provavelmente porque eu extraí o recurso daqui), logo antes de atribuí-lo à minha AlertDialog
(como visualização), tive que obter o pai da minha WebView
, colocá-la em ViewGroup
, em seguida, remova todos os pontos de vista sobre isso ViewGroup
. Isso funcionou e meu erro desapareceu.
// 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...
.... mais tarde, depois que eu carreguei o meu 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();