android返回键监听中return false,return true的区别;最好有个例子 10

publicbooleanonKeyDown(intkeyCode,KeyEventevent){//截获按键事件if(keyCode==KeyEvent.KEYCODE... public boolean onKeyDown(int keyCode, KeyEvent event){
//截获按键事件
if(keyCode == KeyEvent.KEYCODE_MENU){

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

}
如上:android返回键监听中return false;是什么意思,和return true有什么不同,
只监听一次吗?后续的不再监听?网上说如果返回false则时间不继续传递,也就是不会触发相应的后续事件,我试了下即使return true也可以在退出对话框,后按回车,继续退出主activity,和return false效果一样啊,请帮忙讲解,谢谢!
展开
 我来答
周皓0704
2013-12-22 · TA获得超过131个赞
知道答主
回答量:24
采纳率:100%
帮助的人:21.8万
展开全部
android的onKeyDown函数的返回值是这个意思,假如你返回true就是告诉系统我已经对这个回调进行了处理了,不需要系统再处理了。但是你返回false就是告诉系统,我对这个回调做了处理,但是好像不完善,希望系统再帮我处理一下。比如你写这样一个函数
public boolean onKeyDown(int keyCode, KeyEvent event){ //截获按键事件 if(keyCode == KeyEvent.KEYCODE_BACK{//退出对话框 } } return false; }

你返回false那么久依然会退出这个activity,就是系统调用的返回的处理。但是你要是返回true,那么久不会退出这个activity,就没有系统对返回的处理。
追问
不明白,说的好乱,我试过 返回true.   退出对话框,   再按返回键,继续会退出这个activity,和你讲的不一样。 请用事实说话
追答

你把这段代码复制进去吧 我偷了个懒,上个回答我偷了个懒,直接复制的你的

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            Log.e("按了返回了", "但是不退出这个Activity");
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
yydanmei
推荐于2017-05-16 · TA获得超过390个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:193万
展开全部
我是这么记的-。-
拿到这个事件之后,舔完了,要不要把这个事件吃掉~
返回true是吃掉,后面的监听就得不到这个事件了-。-
返回false就是不吃,后面的监听还可以再得到这个动作~继续舔~然后判断要不要吃掉...
推荐你看这个文章吧~看完就懂了http://blog.csdn.net/android_tutor/article/details/7193090
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
励韵嵇欣美
2020-10-31 · TA获得超过1179个赞
知道答主
回答量:1580
采纳率:100%
帮助的人:7.1万
展开全部
android的onKeyDown函数的返回值是这个意思,假如你返回true就是告诉系统我已经对这个回调进行了处理了,不需要系统再处理了。但是你返回false就是告诉系统,我对这个回调做了处理,但是好像不完善,希望系统再帮我处理一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式