2016-05-03 17 views
4

別のページにリダイレクトされるURLに対して、私のwebviewは機能しません。それは、アプリケーションからブラウザを開きますが、webviewをロードしません。何か案が?WebビューでリダイレクトURLがロードされない

WebViewのためのコードは次のとおりです。

webView = (WebView) findViewById(R.id.simpleWebView); 
WebSettings webSettings = webView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 

webView.setWebViewClient(new WebViewClient()); 

if(getIntent().getStringExtra("url")!=null){ 
    loadLink(getIntent().getStringExtra("url")); 
}else{ 
    Toast.makeText(WebViewActivity.this, "Please try again later!", 
    Toast.LENGTH_SHORT).show(); 
    finish(); 
} 
+0

投稿するとエラーが発生しますか? –

答えて

3

メインクラス

public class Main extends Activity { 
    private WebView webview; 
    private static final String TAG = "Main"; 
    private ProgressDialog progressBar; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     requestWindowFeature(Window.FEATURE_NO_TITLE); 

     setContentView(R.layout.main); 

     this.webview = (WebView)findViewById(R.id.webview); 

     WebSettings settings = webview.getSettings(); 
     settings.setJavaScriptEnabled(true); 
     webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 

     final AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 

     progressBar = ProgressDialog.show(Main.this, "WebView Example", "Loading..."); 

     webview.setWebViewClient(new WebViewClient() { 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       Log.i(TAG, "Processing webview url click..."); 
       view.loadUrl(url); 
       return true; 
      } 

      public void onPageFinished(WebView view, String url) { 
       Log.i(TAG, "Finished loading URL: " +url); 
       if (progressBar.isShowing()) { 
        progressBar.dismiss(); 
       } 
      } 

      public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
       Log.e(TAG, "Error: " + description); 
       Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show(); 
       alertDialog.setTitle("Error"); 
       alertDialog.setMessage(description); 
       alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         return; 
        } 
       }); 
       alertDialog.show(); 
      } 
     }); 
     webview.loadUrl("http://www.google.com"); 
    } 
} 

あなたのmain.xmlレイアウト

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <WebView android:id="@string/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" /> 
</LinearLayout> 
+0

これは私のために働いた:) – bhaskar

0

が、これは私はあなたがあなたのloadLinkメソッドが含まれています何書くべきだと思います

mWebView.setWebViewClient(new WebViewClient() { 


     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // Here put your code 
       Log.d("My Webview", url); 

      // return true; //Indicates WebView to NOT load the url; 
       return false; //Allow WebView to load url 
     } 
    }); 
+0

それは動作しませんでした – bhaskar

0

役立つのWebViewクライアントのメソッドをオーバーライドするようにしてください。 webView.loadUrl(...)は正しく実装されていますか?

+0

はい私は内部loadlinkメソッドを持っています – bhaskar

-1

この

if(getIntent().getStringExtra("url")!=null){ 
mWebView.loadUrl(getIntent().getStringExtra("url")); 
} 

を試してみて、あなたを確認するには、インターネット

+0

私はこれを内部loadlink関数を行った – bhaskar

+0

何か問題がありますか?あなたのlogcatを投稿する –

0
webView=(WebView)view.findViewById(R.id.webview); 
     webView.setWebViewClient(new MyBrowser()); 
     webView.getSettings().setLoadsImagesAutomatically(true); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
     webView.loadUrl("https://www.google.co.in/"); 
     return view; 
    } 
    private class MyBrowser extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      pDialog.dismiss(); 
     } 
    } 
の許可を得ました
関連する問題