递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 5338|回复: 3
打印 上一主题 下一主题

关于 编辑框_按键输入 这个事件

 关闭 [复制链接]
回帖奖励 9 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次

5

主题

31

帖子

6481

积分

论坛元老

None

Rank: 8Rank: 8

积分
6481
跳转到指定楼层
楼主
发表于 2019-2-23 20:34:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 myunco 于 2019-2-23 21:42 编辑

我写了一个程序是想实现按一次回车键执行一次某个功能

但我现在发现,按一次回车键  这个事件会触发6次! 进一步分析发现 按下触发3次 放开触发3次
但是同样的代码 按其他按键只会触发2次 (按下一次 放开一次)

怎么弄也弄不出按一次回车只执行一次的方法
经过各种尝试 发现按一次回车键 触发6次 键代码和按键状态 输出如下:
代码:
调试输出 (到文本 (按键代码) + "+" + 到文本 (按键输入事件.按键状态))
输出:
66+22
66+22
66+22
66+22
66+8
66+8

再次判断后发现按下或放开触发的3次 输出都是
66+22
66+22
66+8

于是我就想着判断按键状态=8的时候执行
如果 (按键代码 == 按键代码类.回车键 && 按键输入事件.动作 == 按键动作类.被按下 && 按键输入事件.按键状态 == 8)
果然可以了,但事情并没有这样结束...

上述的输出都是基于雷电模拟器调试输出的,我放到真机(安卓8.1)后发现代码无效了。。。
经过测试发现 真机和模拟器 按回车键取出来的按键状态并不一样。。坑啊!

有没有大佬出来指点一下 小白在此请教各位大佬.
NULL
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40557
沙发
发表于 2019-2-23 22:29:57 | 只看该作者

回帖奖励 +1 金钱

这个无法给你测试,没有键盘可以连接手机……理论上来书不应该不同的,建议尝试更换模拟器进行测试,或者更换手机,多次调试按键代码。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

5

主题

31

帖子

6481

积分

论坛元老

None

Rank: 8Rank: 8

积分
6481
板凳
 楼主| 发表于 2019-2-24 21:32:12 | 只看该作者
创世魂 发表于 2019-2-23 22:29
这个无法给你测试,没有键盘可以连接手机……理论上来书不应该不同的,建议尝试更换模拟器进行测试,或者更 ...

按键代码是一样的,是按键状态不同,其实我就想问的是 怎么让他按一次键只执行一次..
NULL
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40557
地板
发表于 2019-2-25 10:06:32 | 只看该作者
myunco 发表于 2019-2-24 21:32
按键代码是一样的,是按键状态不同,其实我就想问的是 怎么让他按一次键只执行一次.. ...

尝试使用“通知_按键事件”
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-26 06:54 , Processed in 0.090026 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表