我遇到了以下错误 指定的子项已有父项。您必须首先在孩子的父母身上调用removeView()。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
web = (WebView)findViewById(R.id.webView);
ln1=(LinearLayout) findViewById(R.id.ln1);
WebSettings settings = web.getSettings();
settings.setJavaScriptEnabled(true);
web.loadUrl("http://github.tkddnjsdja.tk/");
web.setWebViewClient(new myWebClient());
web.setWebChromeClient(new WebChromeClient(){
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MainActivity.this.startActivityForResult(Intent.createChooser(i, "File Chooser"), MainActivity.FILECHOOSER_RESULTCODE);
}
});
setContentView(web);
}
看起来像setcontentView是个问题 但不知道如何解决这个问题并让它发挥作用。
答案 0 :(得分:0)
您会收到异常,因为您尝试添加已添加的视图。
当您致电setContentView(R.layout.activity_main);
时,您的布局会添加到应用程序的窗口(根视图)中。然后你做web = (WebView)findViewById(R.id.webView);
- 获取WebView并进行处理。 webView已添加到您的屏幕中。
之后,您尝试再次添加它:setContentView(web);
。您不应该这样做,因为您的webView已经添加。
也请拨打此行
web.loadUrl("http://github.tkddnjsdja.tk/");
之后将clicnts设置为WebView
,而不是之前的。