InputConnection ведет себя по-разному в Activity и InputMethodService. ⇐ Android
InputConnection ведет себя по-разному в Activity и InputMethodService.
Я создаю собственную клавиатуру, используя LinearLayout. При каждом нажатии клавиши TextView inputConnection фиксирует текст. Он работает нормально, когда inputConnection.commitText и inputConnection.getTextBeforeCursor вызывается из Activity. Однако когда он вызывается из InputMethodService, обе эти функции не работают, т. е. даже getTextBeforeCursor возвращает null и commitText< /code> ничего не вводит. Ниже приведен мой InputMethodService
.
класс MyInputMethodService : InputMethodService() { // сохраняем экземпляр клавиатуры, который используется всеми хост-приложениями и расширениями частный lateinit var KeyboardView: KeyboardView частный lateinit var myContext:Context переопределить удовольствие onCreateInputView(): View { Log.e("TKF", "onCreateInputView") myContext = ContextThemeWrapper(this, R.style.Theme_BasicM3App) клавиатураView = LayoutInflater.from(myContext).inflate(R.layout.fragment_keyboard, null) как KeyboardView KeyboardView.setInputConnection(currentInputConnection, true) вернуть клавиатуруView } } Какие могут быть возможные причины?
Я создаю собственную клавиатуру, используя LinearLayout. При каждом нажатии клавиши TextView inputConnection фиксирует текст. Он работает нормально, когда inputConnection.commitText и inputConnection.getTextBeforeCursor вызывается из Activity. Однако когда он вызывается из InputMethodService, обе эти функции не работают, т. е. даже getTextBeforeCursor возвращает null и commitText< /code> ничего не вводит. Ниже приведен мой InputMethodService
.
класс MyInputMethodService : InputMethodService() { // сохраняем экземпляр клавиатуры, который используется всеми хост-приложениями и расширениями частный lateinit var KeyboardView: KeyboardView частный lateinit var myContext:Context переопределить удовольствие onCreateInputView(): View { Log.e("TKF", "onCreateInputView") myContext = ContextThemeWrapper(this, R.style.Theme_BasicM3App) клавиатураView = LayoutInflater.from(myContext).inflate(R.layout.fragment_keyboard, null) как KeyboardView KeyboardView.setInputConnection(currentInputConnection, true) вернуть клавиатуруView } } Какие могут быть возможные причины?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
TestcontainersContainer.getHost() ведет себя по-разному локально и в конвейере GitLab.
Anonymous » » в форуме JAVA - 0 Ответы
- 47 Просмотры
-
Последнее сообщение Anonymous
-