Android下如何获得刚刚输入的字符是那个字符?

蝈蝈俊 2011-04-20 02:58:36
注意这里希望找到的是输入的是那个字符,而不是按的是那个键。


@Override
public boolean onKeyUp(int keyCode,KeyEvent event)
{
}

这里的 keyCode 是按键,而不是字符,
比如:普通键盘上+ =这两个字符都在一个键上,通过 keyCode 获得的是无法区分的。

我试过通过 event.getCharacters() 来获得, 但是这里我一直获得的是 null
...全文
428 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky123123 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yongyuandeni 的回复:]
一个字符只有一个编码,不管按的什么键,系统给你的就是实际的编码,直接可以对应成字符,一个键对应两个字符,那也是要按住shift键的
[/Quote]

++


shift键也是对应一个编码的啊、你同时再按其他的键, 那就是两个字符喽、与LZ的本意不符 了吧、 LZ的意思是“刚刚输入的字符是那个字符” 貌似 是按下一个键哎、
小裴同学 2011-04-21
  • 打赏
  • 举报
回复
楼主我理解你意思了,我做过你这个问题,
class MyListener extends KeyAdapter {

@Override
public void keyPressed(KeyEvent dd) {
if (dd.getKeyCode() == KeyEvent.VK_XXXX) {
}
}
蝈蝈俊 2011-04-21
  • 打赏
  • 举报
回复
addTextChangedListener

解决了我的问题, 结贴
zhenzhen5520 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yiyaaixuexi 的回复:]
WindowManager从Linux键盘驱动获取键盘事件,这里只涉及到硬件的位置。然后,利用键布局映射文件将扫描码映射为键值。

键布局映射文件:
/system/usr/keylayout和/data/usr/keylayout

键字符映射:
键字符映射位于:/system/usr/keychars和/data/usr/keychars

如果没有碰底层的意思完全在上面获取输……
[/Quote]学习了
zhenzhen5520 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yiyaaixuexi 的回复:]
WindowManager从Linux键盘驱动获取键盘事件,这里只涉及到硬件的位置。然后,利用键布局映射文件将扫描码映射为键值。

键布局映射文件:
/system/usr/keylayout和/data/usr/keylayout

键字符映射:
键字符映射位于:/system/usr/keychars和/data/usr/keychars

如果没有碰底层的意思完全在上面获取输……
[/Quote]

学习了
念茜 2011-04-20
  • 打赏
  • 举报
回复
WindowManager从Linux键盘驱动获取键盘事件,这里只涉及到硬件的位置。然后,利用键布局映射文件将扫描码映射为键值。

键布局映射文件:
/system/usr/keylayout和/data/usr/keylayout

键字符映射:
键字符映射位于:/system/usr/keychars和/data/usr/keychars

如果没有碰底层的意思完全在上面获取输入的字符就可以的话,那打出系统自带软键盘自动提示历史记录的Log就很清楚了……
aSysBang 2011-04-20
  • 打赏
  • 举报
回复
addTextChangedListener
全速前行 2011-04-20
  • 打赏
  • 举报
回复
楼上说的有道理~~~
yongyuandeni 2011-04-20
  • 打赏
  • 举报
回复
一个字符只有一个编码,不管按的什么键,系统给你的就是实际的编码,直接可以对应成字符,一个键对应两个字符,那也是要按住shift键的
蝈蝈俊 2011-04-20
  • 打赏
  • 举报
回复
我问题里已经说了: keyCode 返回的是按了那个按键,
一个按键可以对应多个字符,不同输入法可能出来的字符是不一样的。
我希望根据用户输入的字符做一些处理。而不是根据用户是否按了某个键来做判断。
kokobox 2011-04-20
  • 打赏
  • 举报
回复
根据keyCode来判定不行吗? 有keyCode的列表,做判定
yongyuandeni 2011-04-20
  • 打赏
  • 举报
回复
貌似获取按键要在驱动层改吧,在把按键转换之前根据按键值进行判断,挺难的哦

80,351

社区成员

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

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