注意这里希望找到的是输入的是那个字符,而不是按的是那个键。
@Override
public boolean onKeyUp(int keyCode,KeyEvent event)
{
}这里的 keyCode 是按键,而不是字符,
比如:普通键盘上+ =这两个字符都在一个键上,通过 keyCode 获得的是无法区分的。我试过通过 event.getCharacters() 来获得, 但是这里我一直获得的是 null
@Override
public boolean onKeyUp(int keyCode,KeyEvent event)
{
}这里的 keyCode 是按键,而不是字符,
比如:普通键盘上+ =这两个字符都在一个键上,通过 keyCode 获得的是无法区分的。我试过通过 event.getCharacters() 来获得, 但是这里我一直获得的是 null
解决方案 »
- 如何给软件设置更换皮肤,急用
- Your project contains error(s) eclipse如何查看哪里出错?
- 高分请教:关于android应用程序插件开发的问题!
- 关于addView的问题
- 请问android如何利用蓝牙发短信
- android hander post方法 多线程OR同一个线程?
- 删分,作业做不来 实在搞不定了(不能让老外鄙视啊)请高手想求我!
- Flash开发的程序当做一个插件内嵌到android原生应用中且不要webview加载flash
- 遇到过Eclipse显示源码只剩一个函数的怪现象吗?
- 新手提问 一般什么时候需要定义一个新类?
- 关于Java的排版?
- 横屏后再让屏幕倒转怎么办?
一个按键可以对应多个字符,不同输入法可能出来的字符是不一样的。
我希望根据用户输入的字符做一些处理。而不是根据用户是否按了某个键来做判断。
/system/usr/keylayout和/data/usr/keylayout键字符映射:
键字符映射位于:/system/usr/keychars和/data/usr/keychars如果没有碰底层的意思完全在上面获取输入的字符就可以的话,那打出系统自带软键盘自动提示历史记录的Log就很清楚了……
class MyListener extends KeyAdapter { @Override
public void keyPressed(KeyEvent dd) {
if (dd.getKeyCode() == KeyEvent.VK_XXXX) {
}
}
++
shift键也是对应一个编码的啊、你同时再按其他的键, 那就是两个字符喽、与LZ的本意不符 了吧、 LZ的意思是“刚刚输入的字符是那个字符” 貌似 是按下一个键哎、