Есть ли способ установить EditText
на моем экране предпочтений XML, чтобы принимать только ввод номера?
Тип ввода для экрана EditText в режиме предпочтения?
Ответ 1
В файле xml:
android:inputType="number"
или во время выполнения:
editText.setRawInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_NORMAL);
http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType
Ответ 2
EditTextPreference
поддерживает все те же атрибуты XML, что и EditText
. Итак, используйте android:inputType="number"
Ответ 3
Каждый сталкивается с этой проблемой, потому что eclipse не показывает подсказки, когда мы нажимаем ctrl + space.
Просто скопируйте
android:inputType="number"
и вставить. Он будет работать как шарм
Ответ 4
Полностью согласен с ответом. Однако я хотел бы добавить что-то здесь: после того, как вы принимаете числовой ввод, все еще существует сценарий, в котором вы можете получить сообщение об ошибке, когда пользователь нажимает кнопку отправки на пустой EditText. Поскольку вы, по всей вероятности, будете анализировать свой ввод на int или double или float. Пустой ввод вызовет ошибку. Я предлагаю вам проверить наличие ошибки с помощью try catch и NumberFormatException.
Ответ 5
<EditTextPreference
android:inputType="phone"
android:key="phone_number"
android:summary="@string/settings_phone_number_sum"
android:title="@string/settings_phone_number" />
Ответ 6
Я прилагаю предпочтение чтения - try/catch NumberFormatException. Если исключение, я возвращаю значение по умолчанию.
Мне показалось, что это полезно при переносе приложения из say float в настройки типа int. Предыдущие установки имели float для предпочтения, а новые использовали int.
Конечно, все еще нужно сделать проверку на входе пользователя.