今天在使用webview 进行打开网页的时候,遇到了这样的问题:打开页面之后,点击设备的返回键,页面撤销,但是并没有会退到之前我打开网页之前的页面,而是出现了一个空白的屏幕,需要在点击一次返回才能会退到之前的页面,所以这里采用了WebViewClient 这个类,成功解决了上述的问题。
1
private class webClient extends WebViewClient { /** * @see android.webkit.WebViewClient#shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String) */ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }
2
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview_layout); Bundle bundle = getIntent().getExtras(); url = bundle.getString("url") ; webView = (WebView) findViewById(R.id.webview); //设置WebView属性,能够执行Javascript脚本 webView.getSettings().setJavaScriptEnabled(true); //加载需要显示的网页 webView.loadUrl(url); //设置Web视图 webView.setWebViewClient(new webClient()); }注意,这里实例化了一个webClient类实例,然后在这个类当中继承webViewClient 类,重写当中的方法。问题解决。