0

私は3つのタブ(フラグメント)を持つ単純なwebviewアプリケーションを開発しています。各フラグメントにはWebビューが表示されるはずですが、フラグメント内にWebビューを表示できません。だから私を助けてください。WebViewのタブ付きアクティビティ(フラグメント)

package com.app.examguru; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

import com.app.examguru.R; 

public class FEED extends Fragment { 
WebView webview1;  

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.feed, container, false); 
    WebView webview1 = (WebView) v.findViewById(R.id.webview1); 
    webview1.getSettings().setJavaScriptEnabled(true); 
    webview1.setWebViewClient(new WebViewClient()); 
    webview1.loadUrl("http://www.google.com"); 
    return v; 
} 
} 
+0

あなたがマニフェストファイル内のインターネットアクセス権を持っていますか? –

+0

[この回答](https://stackoverflow.com/a/45236354/6398434)は簡単に確認できました。提供されたサンプルコードは十分に機能します。後で回答を受け入れることを検討してください。 – JorgeAmVF

答えて

1
import android.graphics.Bitmap; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.ProgressBar; 


public class WebFragment extends Fragment { 

    private WebView webview; 
    private ProgressBar progress; 

    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_web, container, false); 

     init(view); 

     return view; 
    } 

    private void init(View view) { 

     progress = (ProgressBar) view.findViewById(R.id.progress_bar); 
     webview = (WebView) view.findViewById(R.id.webView1); 
     WebSettings webSettings = webview.getSettings(); 
     webSettings.setBuiltInZoomControls(false); 
     webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); 
     webSettings.setJavaScriptEnabled(true); 
     webSettings.setJavaScriptCanOpenWindowsAutomatically(true); 

     webview.loadUrl("http://www.googlecom"); 

     webview.setWebViewClient(new myWebClient()); 

    } 

    public class myWebClient extends WebViewClient 
    { 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      // TODO Auto-generated method stub 
      super.onPageStarted(view, url, favicon); 
      progress.setVisibility(View.VISIBLE); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // TODO Auto-generated method stub 
      view.loadUrl(url); 
      return true; 

     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      // TODO Auto-generated method stub 
      super.onPageFinished(view, url); 
      progress.setVisibility(View.GONE); 
     } 
    } 
} 
+0

はい私はインターネット許可 –

+0

を上記のコードを使用して魅力的に働いています。 – Kamlesh

+0

'onCreateView()'モデルを使用し、私が使っているマージされたサンプルにここで提供されている 'private void'を採用するだけで、それが完璧に動作することを確認できます。 – JorgeAmVF

関連する問題