Android允许使用WebView在应用程序中显示URL的内容。但是,出于某种原因,它对我不起作用。下面是Iam使用的代码:
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;
}
}
}发布于 2011-03-25 11:36:42
很明显!
您正在实现一个新的WebViewClient,其中您正在重写shouldOverrideUrlLoading方法。对于正在加载的每个url,都会调用此方法。你在那里做什么?您将返回true (这意味着加载应该被覆盖),然后开始加载相同的url!因此,url加载将永远不会发生。
只需删除这一行:
mWebView.setWebViewClient(new NewsClient());发布于 2011-03-25 11:15:06
如果不添加以下内容,则将其添加到android清单中:
<uses-permission android:name="android.permission.INTERNET" />这一行必须位于AndroidManifest.xml文件的元素内。
发布于 2015-09-29 13:31:14
添加这一行:mWebView.setWebViewClient(new NewsClient());
但shouldOverrideUrlLoading应该return false。
https://stackoverflow.com/questions/5431577
复制相似问题