Android 如何监听数字键按下事件?

DearLC 2017-07-27 09:30:56
onkeydown方法只能监听到enter键、返回键、和音量加减,监听不到输入法软键盘中数字键的按下事件,求助??
...全文
570 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员小辉 2018-08-09
  • 打赏
  • 举报
回复
二楼的方式我试过了,但是焦点问题呢,EditeText一旦失去焦点,就输入不了了
lixuce1234 2017-07-27
  • 打赏
  • 举报
回复
没有editext然后让弹出来软键盘?
ganshenml 2017-07-27
  • 打赏
  • 举报
回复
引用 3 楼 DearLC 的回复:
[quote=引用 1 楼 ganshenml 的回复:] Edittext中的addTextChangedListener方法中处理该字符串的判断
我这里是想做一个功能,没有Edittext,就是单纯在Android显示界面中,监听用户按下按键的事件,然后做相应的处理,这样能做到吗?我用了onkeydown,onkeyup等等一系列方法还是监听不到数字键或者字母键的按下事件,只能监听到返回键,enter键[/quote] 如果你没有使用Edittext的话,那么是可以监听到数字键的。 http://blog.csdn.net/feizhixuan46789/article/details/16801429 参照这个表的keycode在onKeyDown方法中比对即可;
 @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_0) {
            Toast.makeText(this, "点击了0", Toast.LENGTH_SHORT).show();
        }
        return super.onKeyDown(keyCode, event);
    }
若是界面使用了EditText,则需要设置不获取焦点,否则数字按键等事件将被EditText所拦截。
DearLC 2017-07-27
  • 打赏
  • 举报
回复
引用 1 楼 ganshenml 的回复:
Edittext中的addTextChangedListener方法中处理该字符串的判断
我这里是想做一个功能,没有Edittext,就是单纯在Android显示界面中,监听用户按下按键的事件,然后做相应的处理,这样能做到吗?我用了onkeydown,onkeyup等等一系列方法还是监听不到数字键或者字母键的按下事件,只能监听到返回键,enter键
网络咖啡 2017-07-27
  • 打赏
  • 举报
回复
支持2楼的做法
ganshenml 2017-07-27
  • 打赏
  • 举报
回复
Edittext中的addTextChangedListener方法中处理该字符串的判断

80,354

社区成员

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

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