Saya mengalami kesulitan dengan kesalahan ini, karena keadaan unik saya, tetapi akhirnya menemukan solusi.
Situasi saya: Saya menggunakan tampilan terpisah (XML) yang berisi WebView
, lalu terbuka di AlertDialog
saat saya mengklik tombol di tampilan aktivitas utama saya. Tapi entah bagaimana WebView
milik dari tampilan aktivitas utama (mungkin karena saya menarik sumber daya dari sini), jadi tepat sebelum saya menugaskannya ke AlertDialog
(sebagai tampilan), saya harus meminta orang tua saya WebView
, memasukkannya ke ViewGroup
, lalu hapus semua tampilan itu ViewGroup
. Ini berhasil, dan kesalahan saya hilang.
// 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...
.... nanti setelah saya memuat 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();