Я новичок в разработке Android. В моем проекте Im использует EditText, но я хочу заставить его принимать только целочисленное или плавающее значение. Как я могу это сделать?
Как EditText может принимать только значение integer или float?
Ответ 1
Если вы хотите использовать Десятичное число только на вашем EditText
используйте атрибут xml android:inputType="numberDecimal"
в виджетах EditText
ваше объявление EditText будет выглядеть следующим образом:
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal" />
Если вы хотите использовать Подписанный десятичный номер, чем объединить два атрибута Xml android:inputType="numberDecimal"
и android:inputType="numberSigned"
. Ваше объявление EditText будет выглядеть следующим образом:
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal|numberSigned" >
</EditText>
Ответ 2
Использовать Java
для ввода как целого числа, так и float edit.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
для ввода только целого числа
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
Ответ 3
В настоящее время используется тег android: inputType недостаточно.
Вам нужно создать PreferenceChangeListener, чтобы проверить заполненный EditText, прежде чем изменения будут изменены.