【发布时间】:2011-11-09 13:06:40
【问题描述】:
我有一个正在加载 URL 的 Web 视图。
当我加载http://www.google.co.in/时它工作正常
但是,当我加载http://edition.cnn.com/ 时,它没有显示任何内容,它使用此网址打开浏览器。
为什么会发生这种情况以及如何避免。
提前谢谢...!
【问题讨论】:
标签: android android-layout webview
我有一个正在加载 URL 的 Web 视图。
当我加载http://www.google.co.in/时它工作正常
但是,当我加载http://edition.cnn.com/ 时,它没有显示任何内容,它使用此网址打开浏览器。
为什么会发生这种情况以及如何避免。
提前谢谢...!
【问题讨论】:
标签: android android-layout webview
edition.cnn.com 将您重定向到移动网站版本
http://developer.android.com/resources/tutorials/views/hello-webview.html
您现在拥有一个最简单的网页查看器。它还不是一个浏览器,因为只要你点击一个链接,默认的 Android 浏览器就会处理 Intent 来查看网页,因为从技术上讲,这个 Activity 不支持这样做。您可以覆盖 WebViewClient 类并启用此 Activity 来处理其自己的 URL 请求,而不是添加意图过滤器来查看网页。
样本:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
WebView w = (WebView) findViewById(R.id.webView);
w.getSettings().setJavaScriptEnabled(true);
w.setWebViewClient(new HelloWebViewClient());
w.loadUrl("http://edition.cnn.com/");
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
【讨论】: