【发布时间】:2014-01-29 12:38:57
【问题描述】:
我试图制作一个非常基本的程序,以在我的主要活动的 onCreate() 方法中将网页加载到网页视图中,但它总是要求我在我的内置网页浏览器上加载该网址。如何在 webview 上加载网页?
【问题讨论】:
-
你为此做了什么代码?
-
你需要显示你正在使用的代码。
我试图制作一个非常基本的程序,以在我的主要活动的 onCreate() 方法中将网页加载到网页视图中,但它总是要求我在我的内置网页浏览器上加载该网址。如何在 webview 上加载网页?
【问题讨论】:
你可以试试下面的代码。
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() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
mWebview .loadUrl("http://www.google.com");
setContentView(mWebview );
}
}
【讨论】:
是的,需要通过WebViewClient加载
检查并尝试WebView doc 上给出的以下示例:
webview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});
webview.loadUrl("http://developer.android.com/");
【讨论】:
public class WebViewController extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
webView.setWebViewClient(new WebViewController());
【讨论】: