У меня есть действие с одним EditText, где мне нужно вводить только числа.
Теперь, Я определил тип ввода для моего EditText только как номер и нарисовал красивую клавиатуру для использования моим пользователем, однако мне также нужно убедиться, что мягкая клавиатура не появляется для моего пользователя, когда они нажимают на EditText .
Я попытался скрыть клавиатуру через манифест, добавив
android:windowSoftInputMode="stateAlwaysHidden"
в свой манифест для конкретного действия, но это не сработало для меня, потому что как только пользователь нажимает на EditText, клавиатура появляется снова.
Я пробовал делать то же самое программно
activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
, но это тоже не работает. Клавиатура появляется, когда пользователь щелкает EditText.
Единственное, что сработало, это установка InputType на null для EditText, например:
EditText.setInputType(InputType.TYPE_NULL);
, но я не могу использовать это, потому что это позволит пользователям, у которых есть клавиатура, подключенная к их устройству, вводить буквы и другие символы в поле EditText, в то время как я хочу, чтобы каждый специально использовал только клавиатуру для ввода данных в поле.
Я также должен упомянуть, что в настоящее время я тестирую свое приложение на Android 2.1, но я бы хотел, чтобы мое решение работало во всех версиях. Любая помощь будет оценена. Заранее спасибо.