2017-07-10 16 views
-1

エラーが発生しています 指定された子にはすでに親があります。子の親で最初にremoveView()を呼び出す必要があります。指定された子にはすでに親があります。最初に子の親に対して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(web); –

+1

OK、どの行に表示されますか。なぜあなたは 'setContentView(web);'を行うのですか?最初にコンテンツビューを設定しています。 –

答えて

0

既に追加されているビューを追加しようとするため、例外が発生します。

setContentView(R.layout.activity_main);に電話すると、レイアウトがアプリケーションのウィンドウ(ルートビュー)に追加されます。次に、web = (WebView)findViewById(R.id.webView); - WebViewを入手して処理します。 webViewは既にあなたの画面に追加されています。

その後、もう一度追加しようとします:setContentView(web);。 WebViewが既に追加されているので、これを行うべきではありません。後

また、このラインを呼び出す

web.loadUrl("http://github.tkddnjsdja.tk/"); 

あなたはWebView、ないにclicntsを設定します。

関連する問題

 関連する問題