您的位置:首页 > 其它

监听返回键的2种方式

2016-10-17 09:02 232 查看
方式1 :重写onKeyDown()方法

示例代码1 :
判断被点击的是不是返回键
//监听返回键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) { //是返回键

//具体事件逻辑

}

return super.onKeyDown(keyCode, event);
}


示例代码2 :
判断被点击的是不是返回键 ;并判断返回键被点击的状态,是单点还是长按
 //监听返回键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) { //是返回键
if (event.getRepeatCount() == 0) {  //点了一次返回键(按下+弹起算是一次点击)
Log.e("abc", "点击了一次返回键");
return true;
} else {                            //点了多次返回键(按下后没有抬起--也就是长按)
Log.e("abc", "点击了返回键后没有抬起,此时关闭页面");
finish();
return false;
}
}

return super.onKeyDown(keyCode, event);
}


方式2 :重写onBackPressed 方法

@Override
public void onBackPressed() {
//具体事件逻辑
super.onBackPressed();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: