0

何が起こっているのかわかりません。コードがクラッシュし、その理由がわかりません。

複数の WebView のコンテナーである LinearLayout があります。

LinearLayout variableContent = (LinearLayout) this.findViewById(R.id.variableContent);
for (int i=0; i<5;i++){
    XMLModule modul = modulsRecuperats.get(i);
    myWebView webview = new myWebView(this);
    WebView customWebViewContainer = (WebView) this.mInflater.inflate(R.layout.customwebview, null);
    customWebViewContainer = webview._clientSettings(customWebViewContainer,progressDialog);
    customWebViewContainer.loadData(modul.getContent(), "text/html", "UTF-8");
    variableContent.addView(customWebViewContainer);
}

addView が呼び出されると、コードがクラッシュします。このエラーで:

原因: java.lang.IllegalStateException: 指定された子にはすでに親があります。最初に子の親で removeView() を呼び出す必要があります。

理由が見つかりません。あなたは私を助けることができます?

4

2 に答える 2

1

問題は、customWebViewContainerすでに親がいるということです。AViewは 2 つの親を持つことができないため、この例外がスローされます。webview._clientSettings()への呼び出しがそのビューを別のコンテナーでラップしているとしか思えません。

于 2013-05-13T08:40:04.987 に答える
0

クラス「myWebView」を投稿していただけますか?特に、メソッド _clientSettings は、そこで何が起こっているかを知るために必要です。

于 2013-05-13T07:41:44.880 に答える