Я написал свою пользовательскую клавиатуру t9 для устройства Android-N.
Если неоднократно нажимать одну и ту же клавишу, сотрите предыдущий символ и введите следующий символ. (Пример A -> B)
Например, когда мы последовательно нажимаем кнопку «2» на жесткой клавише, аппаратная клавиатура IME удаляет предыдущий символ следующим процессом.
(Текущий исходный код)
mParent.getCurrentInputConnection().deleteSurroundingText(1,0);
Ожидаемый результат:
Ввод: [2] -> [2] -> [2]
Выход (дисплей): A -> B -> C
Результат теста приложения с использованием Hard Keyboard IME.
Выход (дисплей): A -> AB -> ABC
Мы изменили deleteSurroundingText()
на следующие 2 утверждения.
SendKeyEvent(new KeyEvent(KeyEvent.ACTIN_DOWN,KeyEvent.KEYCODE_DEL)),
SendKeyEvent(new KeyEvent(KeyEvent.ACTIN_UP,KeyEvent.KEYCODE_DEL))
Но после этого изменения все равно отображаемый символ НЕ хорош.
Например: -
Мы дважды нажали клавишу 2, но дисплей по-прежнему A.
Любое предложение здесь будет полезно для обработки ключа удаления в Android.