Слушайте виртуальные нажатия клавиш без редактирования текста

Есть ли способ получить ключевые события при форсировании клавиатуры таким способом в методе 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);
Другие вопросы по тегам