【发布时间】:2013-11-21 21:34:21
【问题描述】:
关于that question和that question,如果你使用onKeyDown和onKeyLongPress,需要在onKeyDown里面使用event.startTracking();。但我使用 WebViews。
如何加入onKeyDown和onKeyPress同时又不丢失WebView的返回功能?
我需要这种行为:
在 webview 里面,
* 当用户按下返回按钮时,webview 将返回历史记录
* 当用户长按返回键时,会调用finish()
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if(mWebView.canGoBack()) {
mWebView.goBack();
} else {
super.onBackPressed();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK)
{
finish();
return true;
}
return super.onKeyLongPress(keyCode, event);
}
【问题讨论】: