How to load external webpage in WebView
Thanks to this post, I finally found the solution. Here is the code:
import android.app.Activity;import android.os.Bundle;import android.webkit.WebResourceError;import android.webkit.WebResourceRequest;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;import android.annotation.TargetApi;public class Main extends Activity { private WebView mWebview ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mWebview = new WebView(this); mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript final Activity activity = this; mWebview.setWebViewClient(new WebViewClient() { @SuppressWarnings("deprecation") @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Toast.makeText(activity, description, Toast.LENGTH_SHORT).show(); } @TargetApi(android.os.Build.VERSION_CODES.M) @Override public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) { // Redirect to deprecated method, so you can use it in all SDK versions onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString()); } }); mWebview .loadUrl("http://www.google.com"); setContentView(mWebview ); }}
try this
webviewlayout.xml:
<?xml version="1.0" encoding="utf-8"?><WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/help_webview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="none"/>
In your Activity:
WebView webView;setContentView(R.layout.webviewlayout);webView = (WebView)findViewById(R.id.help_webview);webView.getSettings().setJavaScriptEnabled(true);webview.loadUrl("http://www.google.com");
Update
Add webView.setWebViewClient(new WebViewController());
to your Activity.
WebViewController class:
public class WebViewController extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; }}
public class WebViewController extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; }}webView.setWebViewClient(new WebViewController());