Получить событие клавиатуры в Android
У меня есть веб-просмотр, страница с функцией поиска, когда пользователь фокусирует вид, чтобы открыть открытую клавиатуру Android, и я хочу обработать параметры ime.
В клавиатуре Android у меня есть вариант, как кнопка "GO". Я много искал для этого и перепробовал все, кроме моего компьютера за окном, пожалуйста, помогите мне, как я могу это сделать
вот мой код, я не получаю тост или лог-значения.
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_D:
Toast.makeText(key.this, "preseed", Toast.LENGTH_LONG).show();
Log.e("d", "preseed");
return true;
case KeyEvent.KEYCODE_F:
Log.e("f", "preseed");
Toast.makeText(key.this, "preseed", Toast.LENGTH_LONG).show();
return true;
case KeyEvent.KEYCODE_J:
Log.e("j", "preseed");
Toast.makeText(key.this, "preseed", Toast.LENGTH_LONG).show();
return true;
case KeyEvent.KEYCODE_K:
Log.e("k", "preseed");
Toast.makeText(key.this, "preseed", Toast.LENGTH_LONG).show();
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
1 ответ
Вы можете добавить onEditorActionListener в ваше представление поиска следующим образом:
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(final TextView view,
final int actionId, final KeyEvent event) {
if (event != null && actionId != 7 && actionId != 5) {
//manage press of button 7 and 5
} else {
activity.hideKeyboard();
return false;
}
if (actionId == EditorInfo.IME_ACTION_DONE
|| event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
//manage press of enter button
}
return false;
}
});
Надеюсь, поможет;)