Ответ 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
Есть ли способ установить EditText
на моем экране предпочтений XML, чтобы принимать только ввод номера?
В файле 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
EditTextPreference
поддерживает все те же атрибуты XML, что и EditText
. Итак, используйте android:inputType="number"
Каждый сталкивается с этой проблемой, потому что eclipse не показывает подсказки, когда мы нажимаем ctrl + space.
Просто скопируйте
android:inputType="number"
и вставить. Он будет работать как шарм
Полностью согласен с ответом. Однако я хотел бы добавить что-то здесь: после того, как вы принимаете числовой ввод, все еще существует сценарий, в котором вы можете получить сообщение об ошибке, когда пользователь нажимает кнопку отправки на пустой EditText. Поскольку вы, по всей вероятности, будете анализировать свой ввод на int или double или float. Пустой ввод вызовет ошибку. Я предлагаю вам проверить наличие ошибки с помощью try catch и NumberFormatException.
<EditTextPreference
android:inputType="phone"
android:key="phone_number"
android:summary="@string/settings_phone_number_sum"
android:title="@string/settings_phone_number" />
Я прилагаю предпочтение чтения - try/catch NumberFormatException. Если исключение, я возвращаю значение по умолчанию.
Мне показалось, что это полезно при переносе приложения из say float в настройки типа int. Предыдущие установки имели float для предпочтения, а новые использовали int.
Конечно, все еще нужно сделать проверку на входе пользователя.