怎么能屏蔽Android原本的 返回键 的功能?纠结了

yuxiivy 2013-09-21 04:50:25
在一个继承View的类里写了如下代码:
	public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
onPause();
return true;
}
return super.onKeyDown(keyCode, event);
}

(其中onPause()是我自己写的一个功能方法)

但是手机测试返回键依旧有用。。。重写onKeyDown()屏蔽不掉原本返回键功能么?
...全文
4195 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
BeyMyth 2016-01-21
  • 打赏
  • 举报
回复
直接return false就行了,里面不用写方法
顾小林 2013-09-23
  • 打赏
  • 举报
回复
引用 14 楼 yuxiivy 的回复:
引用 12 楼 shen332401890 的回复:
覆写一个 onBackPress 有这么难吗?
试过了,在继承View这个类里复写onBackPress 不行的,只能在Activity里复写onBackPress ,或者我这样重写onKeydown
有一种东西叫做接口,有一种东西叫做回调。
doveqian 2013-09-23
  • 打赏
  • 举报
回复
引用 11 楼 yuxiivy 的回复:
引用 8 楼 doveqian 的回复:
应该不会啊,你调试一下啊,看看的代码有没有进去哦!
断点Debug,结果是根本没有进这段代码。。。这是why。。。。。快纠结死了
我才看清,你是在view里面啊,自定义view是不能监听到这个的
yuxiivy 2013-09-23
  • 打赏
  • 举报
回复
引用 12 楼 shen332401890 的回复:
覆写一个 onBackPress 有这么难吗?
试过了,在继承View这个类里复写onBackPress 不行的,只能在Activity里复写onBackPress ,或者我这样重写onKeydown
yuxiivy 2013-09-23
  • 打赏
  • 举报
回复
把代码放在承载这个继承View类的Activity类里就可以了。。。。难道在继承View的类里就不行么?
顾小林 2013-09-23
  • 打赏
  • 举报
回复
覆写一个 onBackPress 有这么难吗?
yuxiivy 2013-09-23
  • 打赏
  • 举报
回复
引用 8 楼 doveqian 的回复:
应该不会啊,你调试一下啊,看看的代码有没有进去哦!
断点Debug,结果是根本没有进这段代码。。。这是why。。。。。快纠结死了
yuxiivy 2013-09-23
  • 打赏
  • 举报
回复
引用 6 楼 udbivw820706 的回复:
刚好碰到这个问题,楼主解决没
昨天课有点多,没看,今早为止还没解决- -!还不淡定了
NoneSoVile 2013-09-22
  • 打赏
  • 举报
回复
响应back按键的默认处理在activity类的onbackpressed函数,重载这个函数,实现为空即可。
doveqian 2013-09-22
  • 打赏
  • 举报
回复
应该不会啊,你调试一下啊,看看的代码有没有进去哦!
小裴同学 2013-09-22
  • 打赏
  • 举报
回复
return super.onKeyDown(keyCode, event); 这句去掉
udbivw820706 2013-09-22
  • 打赏
  • 举报
回复
刚好碰到这个问题,楼主解决没
oeeoi 2013-09-21
  • 打赏
  • 举报
回复
可能是因为焦点不在你自定义的View上,你的View根本没有收到事件消息吧..
yuxiivy 2013-09-21
  • 打赏
  • 举报
回复
同学们。。。实在无奈了~~~给点思路?
yuxiivy 2013-09-21
  • 打赏
  • 举报
回复
引用 2 楼 tantahe 的回复:
onPause()是Activity的生命周期函数,你不应该在代码里调用这个方法。把你的方法改个其他名字吧。
其他逻辑看起来是对的,你可以在return true之前打印log确认一下。
把onPause()名字改了,然后log了下,运行后发现没有打印log。。。。。为什么?哪写错了,怎么没有重载上?
tantahe 2013-09-21
  • 打赏
  • 举报
回复
onPause()是Activity的生命周期函数,你不应该在代码里调用这个方法。把你的方法改个其他名字吧。 其他逻辑看起来是对的,你可以在return true之前打印log确认一下。
yuxiivy 2013-09-21
  • 打赏
  • 举报
回复
同学们~很纠结呀~我

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧