как мы можем указать язык ввода для конкретного EditText (не для всего приложения), любая помощь будет оценена

как мы можем указать язык ввода для конкретного EditText (не для всего приложения), любая помощь будет оценена ... например, для EditText1 я хочу открыть английскую клавиатуру, а для EditText2 хочу открыть какой-либо другой язык любая помощь...


person ASIF    schedule 31.05.2019    source источник


Ответы (2)


Вы не можете изменить клавиатуру пользователя. Это могут делать только системные приложения.

Одним из возможных обходных путей является создание собственных настраиваемых представлений клавиатуры и программное переключение.

Для этого вам нужно создать отдельные раскладки и классы (расширяет KeyboardView) для каждой языковой клавиатуры.

person SHAHEEN BSV    schedule 31.05.2019

Насколько я знаю, вы не можете изменить клавиатуру пользователя, ее должен изменить сам пользователь.

Если вы хотите контролировать, вводит ли пользователь определенные символы (например, китайские символы в EditText), я бы использовал TextWatcher и применил шаблон Regex для оценки введенного String.

person Jaime Suarez    schedule 31.05.2019
comment
Суарес На самом деле я хочу показать пользователю алфавиты других языков вместо английского, скажем, урду или арабского, и хочу ввести данные с этих языков. - person ASIF; 31.05.2019
comment
Я нашел кое-что, но это выглядит обходным путем (stackoverflow.com/ вопросы/36261166/). Я думаю, что пользователь должен переключать клавиатуру, а на вашей стороне вы должны контролировать, какие символы разрешены (вы можете поставить подсказку с необходимыми символами, чтобы было понятнее). - person Jaime Suarez; 31.05.2019