Пользовательская клавиатура Android: как попасть в другой вид, нажав и удерживая клавишу ввода

Я пытаюсь изменить вид клавиатуры при ее длительном нажатии. (ПРИМЕЧАНИЕ: KeyEvent.getAction() здесь не существует).

Я уже переопределяю методы onKeyDown(), onKeyUP() и onKeyLongPress(), но у меня это не работает.

       @Override
        public void onKey(int primaryCode, int[] keyCodes) {
            Log.d(TAG, "onKey: "+primaryCode);
            InputConnection inputConnection = getCurrentInputConnection();

            switch (primaryCode){

                case -6:
                    keys = keyboardView.getKeyboard().getKeys();
                    .....
                    break;

                case Keyboard.KEYCODE_DELETE:
                    sendDownAndUpKeyEvent(KeyEvent.KEYCODE_DEL, 0);
                    break;

                case Keyboard.KEYCODE_SHIFT:
                    ....
                    break;   

                case Keyboard.KEYCODE_DONE:
                   // here is the problem
                    if (KeyEvent.getAction() == KeyEvent.ACTION_DOWN) {
                        sendDownAndUpKeyEvent(KeyEvent.KEYCODE_ENTER, 0);
                    } else if (event.getAction() == KeyEvent.ACTION_UP) {
                        changeToEmojiView();
                    }

                    break;

0 ответов

Другие вопросы по тегам