程序中我们有时候想让放回按钮按照自己的需求调整页面而不是单纯的按照系统返回上一级,这个问题很简单,重写 onKeyDown
方法即可。
下面方法,包含了 webview
中的返回上一页和普通 Activity
的单击设置和双击退出程序:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//如果我们用的是webview页面,想返回网页的上一页设置这里就可以了
if (keyCode == KeyEvent.KEYCODE_BACK && myWebView.canGoBack()) {
myWebView.goBack();// 返回前一个页面
return true;
}
//普通页面的单双击事件设置,这里是双击退出程序的设置。
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}