Отправить информацию из EditText в IME

1

Я пишу приложение для изучения языка, в настоящее время только немецкое и русское.

Существует несколько EditTexts, где пользователь должен вводить текст на одном или другом языке. Поскольку эти языки используют разные алфавиты, приложение использует свою собственную мягкую клавиатуру, реализуя InputMethodService и предоставляя латинскую и кириллическую раскладку клавиатуры. Для каждого поля EditText известно, какой язык ожидается.

Я бы хотел, чтобы, например, всякий раз, когда поле EditText, ожидающее русского, находится в фокусе, необходимо отобразить макет кириллицы. Когда выбрано, EditText должен передать некоторую константу IME, которую последний может использовать, чтобы решить, показывать ли в латинском или кириллическом режиме.

В идеале можно было бы просто указать какой-то пользовательский InputType для EditText, но это не представляется возможным, не так ли? Каков правильный подход?

Теги:
android-softkeyboard

1 ответ

1
Лучший ответ

Ваша идея звучит не так. IME-код проверяет InputType в блоке коммутатора, и раскладка клавиатуры по умолчанию отображается, если InputType не соответствует.

Вы также можете указать логику в методе onCreate() вашего Activity, чтобы проверить, какой метод ввода активен, и с этой информацией выберите, какой InputType ваш EditText должен иметь.

  • 0
    Хм, спасибо. Дело в том, что я не знал, как определить и использовать пользовательский тип InputType, поскольку я не хотел отвлекать стандартные литералы InputType от их предполагаемого использования. Связь с EditText для IME не была мне понятна. Сейчас я использую privateImeOption, который работает, но не кажется мне особенно красивым ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню