我正在构建一个专为希伯来语演讲者设计的应用,我写了这段代码:
EditText E= (EditText) findViewById(R.id.name);
E.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int code, KeyEvent keyEvent) {
if (keyEvent.getAction()==KeyEvent.ACTION_DOWN&&code==keyEvent.KEYCODE_ENTER)
{
Toast.makeText(getApplicationContext(), "it is working!!!" , Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});
好吧,我的设备有4个键盘,两个默认键盘,一个用希伯来语,一个用英语,还有两个谷歌键盘,一个用英语,一个用希伯来语。 只有当我按下英文Google键盘中的Enter kye时 - 代码才有效。 它不适用于其他键盘
如何让代码适用于其他键盘? 有什么区别?
更新
我试着找出输入不同键盘的数值,所以我写了这段代码:
EditText E= (EditText) findViewById(R.id.name);
E.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int code, KeyEvent keyEvent) {
Toast.makeText(getApplicationContext(), ""+keyEvent.getAction() , Toast.LENGTH_SHORT).show();
return true;
}
});
结果是 - 只有当我点击输入谷歌英语键盘键时,才会有回复 - 它是" 0"。如果我点击"删除"回复是" 0"然后" 1"。 没有其他按钮响应,它只是在EditTaxt中写入它应该...
我做错了什么?