android返回键监听中return false,return true的区别

问:
public boolean onKeyDown(int keyCode, KeyEvent event){
    	//截获按键事件
		if(keyCode == KeyEvent.KEYCODE_MENU){

//退出对话框
		}
		}
		return false;
		
	}

如上:android返回键监听中return false;是什么意思,和return true有什么不同?


答:
我是这么记的-。-
拿到这个事件之后,舔完了,要不要把这个事件吃掉~
返回true是吃掉,后面的监听就得不到这个事件了-。-
返回false就是不吃,后面的监听还可以再得到这个动作~继续舔~然后判断要不要吃掉...
推荐大家看这个文章吧~看完就懂了http://blog.csdn.net/android_tutor/article/details/7193090

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android ,无法直接监听系统返回。系统返回是由系统处理的,因此无法通过常规的事件监听方式来捕获。 不过,可以通过重写 Activity 的 onKeyDown() 方法来捕获系统返回事件。具体实现步骤如下: 1. 重写 Activity 的 onKeyDown() 方法。 2. 在 onKeyDown() 方法判断按下的是否是返回,并执行相应的操作,例如返回上一个 Activity。 示例代码如下: ``` @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // 按下返回时执行的操作 // 例如返回上一个 Activity return true; // 返回 true 表示已经处理了按事件,不再继续传递给系统处理 } return super.onKeyDown(keyCode, event); } ``` 需要注意的是,如果当前 Activity 是任务栈的根 Activity,按下返回将会退出应用程序。可以通过在 onKeyDown() 方法添加判断来处理这种情况。例如: ``` @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (isTaskRoot()) { // 如果当前 Activity 是任务栈的根 Activity,不执行任何操作 return true; // 返回 true 表示已经处理了按事件,不再继续传递给系统处理 } // 按下返回时执行的操作 // 例如返回上一个 Activity return true; // 返回 true 表示已经处理了按事件,不再继续传递给系统处理 } return super.onKeyDown(keyCode, event); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值