使用WebView时监听手机的返回键

  今天写了一个软件,软件很简单,使用WebView在软件中放入一个网站,打开软件就会进入指定网站的移动端页面。以下是源代码

web_view = (WebView) findViewById(R.id.web_view);
web_view.getSettings().setJavaScriptEnabled(true);
web_view.setWebViewClient(new WebViewClient());
web_view.loadUrl("http://www.mylyd.top");//

一开始是碰到几个问题的,当我点进几个页面后,想要返回点击手机上的返回键时,软件会一次性退出,而不是返回上一层页面。监听手机按键之后,再给按键一个WebView的返回方法(

goBack()

)就解决了这个问题。

        web_view.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if (keyCode == KeyEvent.KEYCODE_BACK && web_view.canGoBack()) { //表示按返回键

// 时的操作
web_view.goBack(); //后退


//webview.goForward();//前进
return true; //已处理
}
}
return false;
}
});

这里的web_view是xml文件中WebView这个控件的id名,对它进行监听处理,

程序简单,没有详细过程,有疑问的可以留言


原文地址:https://www.cnblogs.com/lyd447113735/p/7903165.html