如何将密钥代码转换为字符或字符串?

时间:2011-07-04 11:50:57

标签: android keycode typeconverter

如何将keycode转换为charstring ??

以下是示例代码:

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;
}

7 个答案:

答案 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)

如果您想将一个键从一个控件发送到另一个控件(例如,从其中的 RecylerViewEditText),您可以使用 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