Слушайте виртуальные нажатия клавиш без редактирования текста
Есть ли способ получить ключевые события при форсировании клавиатуры таким способом в методе Fragment onCreateView:
getActivity().getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
Также потребуется клавиатура, чтобы быть в числовом режиме.
Благодарю.
2 ответа
Решение
Вы можете прослушивать нажатия клавиш, если вы переопределяете метод onKeyDown в своей деятельности
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
...
return true;
...
default:
return super.onKeyDown(keyCode, event);
}
}
Есть два способа показать программную клавиатуру, даже если у вас нет текста для редактирования, на котором можно сфокусироваться,
первый-
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInputFromWindow(viewToAnchorTo.getWindowToken(), 0);
второй
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);