Как я могу преобразовать код ключа в символ или строку? - PullRequest
16 голосов
/ 04 июля 2011

Как конвертировать 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;
}

Ответы [ 6 ]

52 голосов
/ 11 февраля 2012
char unicodeChar = (char)event.getUnicodeChar();
4 голосов
/ 04 июля 2011

Использование event.getNumber().

3 голосов
/ 28 ноября 2013

Если у вас нет объекта KeyEvent, вы можете использовать его в коде ключа:

public void onKey(int primaryCode, int[] keyCodes) {
     char c = Character.toChars(primaryCode)[0];
}
1 голос
/ 26 июня 2018

Тод ответ почти завершен, но когда вы хотите установить текст правки с этим кодом, вам нужно добавить небольшую вещь:

sample_et.setText((char)event.getUnicodeChar()+"");
0 голосов
/ 24 июня 2014

Использование

String.fromCharCode();

String.fromCharCode(65,66,67) возврат ABC.

См. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode.

0 голосов
/ 06 декабря 2012

Попробуйте это ..

String s="";

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    EditText t=(EditText)v;
    s=t.getText();  
    return false;
}
...