Java 禁止在Android中默认输入密钥
我有一个Java 禁止在Android中默认输入密钥,java,android,keyevent,suppress,t9,Java,Android,Keyevent,Suppress,T9,我有一个edittext,我试图超越物理键的默认输入,用每个键的自定义输入替换。我的代码可以很好地添加我想要的输入,但我似乎无法抑制默认输入,它显示在我的输入旁边。目前,我正在扫描文本,删除不需要的输入,替换文本,并重新定位插入符号-但这种解决方案非常不切实际 我的目标设备是一个传统的数字键盘,不支持标准的android输入程序。该设备预装了拉丁语和韩语输入,我正在尝试为其他语言创建一个T9解决方案,而不是预装。此方法似乎是在该设备上执行此操作的唯一方法 如何抑制默认输入 类似于问题,但适用于A
edittext
,我试图超越物理键的默认输入,用每个键的自定义输入替换。我的代码可以很好地添加我想要的输入,但我似乎无法抑制默认输入,它显示在我的输入旁边。目前,我正在扫描文本,删除不需要的输入,替换文本,并重新定位插入符号-但这种解决方案非常不切实际
我的目标设备是一个传统的数字键盘,不支持标准的android输入程序。该设备预装了拉丁语和韩语输入,我正在尝试为其他语言创建一个T9解决方案,而不是预装。此方法似乎是在该设备上执行此操作的唯一方法
如何抑制默认输入
类似于问题,但适用于Android
跳过我的临时解决方案,下面是截取关键事件的代码。我需要在代码中的指定位置抑制默认输入:
public boolean onKeyUp(int KeyCode, KeyEvent event){
super.onKeyUp(KeyCode, event);
if (KeyCode>6 && KeyCode<19){
//todo: suppress default input here!
switch (KeyCode){
case 7: buttonHandler(R.id.Button0); break;
case 8: buttonHandler(R.id.Button1); break;
case 9: buttonHandler(R.id.Button2); break;
case 10: buttonHandler(R.id.Button3); break;
case 11: buttonHandler(R.id.Button4); break;
case 12: buttonHandler(R.id.Button5); break;
case 13: buttonHandler(R.id.Button6); break;
case 14: buttonHandler(R.id.Button7); break;
case 15: buttonHandler(R.id.Button8); break;
case 16: buttonHandler(R.id.Button9); break;
case 17: buttonHandler(R.id.ButtonStar); break;
case 18: buttonHandler(R.id.ButtonHash); break;
}
}
}
public boolean onKeyUp(int-KeyCode,KeyEvent事件){
super.onKeyUp(键码、事件);
如果(键码>6&&KeyCode