如何将keycode
转换为char
或string
??
以下是示例代码:
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
//Log.d("EditText", "It's Working...!" + event.getAction());
if (event.getAction() == 0) {
switch (v.getId()) {
case R.id.editText1:
Log.d("EditText", "In editText1");
if (text1.length() == 3)
{
text2.setText();
text2.requestFocus();
}
break;
case R.id.editText2:
Log.d("EditText", "In editText2");
if (text2.length() == 0)
text1.requestFocus();
break;
}
}
return false;
}
答案 0 :(得分:52)
char unicodeChar = (char)event.getUnicodeChar();
答案 1 :(得分:4)
答案 2 :(得分:3)
如果您没有KeyEvent对象,可以在密钥代码上使用它:
public void onKey(int primaryCode, int[] keyCodes) {
char c = Character.toChars(primaryCode)[0];
}
答案 3 :(得分:1)
Tod的答案几乎是完整的,但是当您要使用此事件代码设置Edittext的文本时,您应该添加一些内容:
sample_et.setText((char)event.getUnicodeChar()+"");
答案 4 :(得分:0)
如果您想将一个键从一个控件发送到另一个控件(例如,从其中的 RecylerView
到 EditText
),您可以使用 this:
editText.dispatchKeyEvent(KeyEvent(0, 0, KeyEvent.ACTION_DOWN, keyCode, 0))
editText.dispatchKeyEvent(KeyEvent(0, 0, KeyEvent.ACTION_UP, keyCode, 0))
答案 5 :(得分:-3)
试试这个..
String s="";
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
EditText t=(EditText)v;
s=t.getText();
return false;
}
答案 6 :(得分:-3)
使用
String.fromCharCode();
String.fromCharCode(65,66,67)
返回ABC
。
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode。