Android allows content of a URL to be displayed within an application using WebView. However, for some reason it's not working for me. Below is the code that Iam using:
package com.news;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class NewsActivity extends Activity {
WebView mWebView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebViewClient(new NewsClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.loadUrl("http://www.androidpeople.com");
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class NewsClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println("URL: " + url);
view.loadUrl(url);
return true;
}
}
}
It is obvious!
You are implementing a new WebViewClient
in which you are overriding shouldOverrideUrlLoading
method. This method is called for each url you are loading. And what are you doing there? You are returning true (which means loading should be overriden) and then beginning to load the same url! Thus, the url loading will never occur.
Just delete that line:
mWebView.setWebViewClient(new NewsClient());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With