Webview在屏幕外加载?
问题描述:
此代码正在处理另一个aspx表单,现在当我更改表单时,它可以在黑莓的webview中工作,但是现在android已经启动了一个外部浏览器,甚至在应用程序启动之前就知道了。Webview在屏幕外加载?
webview = (WebView) findViewById(R.id.webView1);
webview.getSettings().setJavaScriptEnabled(true);
webview.setInitialScale (5);
webview.loadUrl(URL);
webview.requestFocus(View.FOCUS_DOWN);
为什么它现在加载在浏览器之外?
答
您只需要实施shouldOverrideUrlLoading()
。从我最近的一个项目一个片段:
public class WebViewCustom extends Activity {
WebView mWebView;
String mUrl;
String urlHistory;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lessons_page);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewOverrideUrl());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.loadUrl("YOUR-URL-HERE");
}
private class WebViewOverrideUrl extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
编码愉快!
答
推测,您的服务器正在发出重定向。如果您实施WebViewClient
并使其覆盖shouldOverrideUrlLoading()
,则可以强制将重定向加载到WebView
本身中。
辉煌的作品魅力谢谢! –