У меня было самое сложное время с этой ошибкой из-за моих уникальных обстоятельств, но в конце концов я нашел решение.
Моя ситуация: я использую отдельное представление (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();