如何实现webView内部跳转
1, 若没有设置 WebViewClient 则在点击链接之后由系统处理该 url,通常是使用浏览器打开或弹出浏览器选择对话框。
2, 若设置 WebViewClient 且该方法返回 true ,则说明由应用的代码处理该 url,WebView 不处理。
3, 若设置 WebViewClient 且该方法返回 false,则说明由 WebView
处理该 url,即用 WebView 加载该 url。在代码中添加设置:
webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) {if(TextUtils.isEmpty()){// view.loadUrl(url); //在当前的webview中跳转到新的url} return false; } });关于返回键的设置:
1、机器上返回键覆写onKeyDown事件
//android webview点击返回键返回上一个html @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) { webview.goBack();// 返回前一个页面 return true; } return super.onKeyDown(keyCode, event); }
2、Activity中顶部返回按钮的事件代码
// 按钮返回 Button btnBack = (Button) findViewById(R.id.bar_title_backButton); btnBack.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { if (webview.canGoBack()) { webview.goBack(); } else{ finish(); } } });
文/光源_Android(简书作者)
原文链接:http://www.jianshu.com/p/82080ae70643
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
原文链接:http://www.jianshu.com/p/82080ae70643
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。