Как EditText может принимать только целые или плавающие значения?
Я новичок в разработке Android. В моем проекте я использую EditText, но я хочу заставить его принимать только целочисленное значение или значение с плавающей точкой. Как я могу это сделать?
3 ответа
Если вы хотите использовать десятичное число только на вашем 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>
Использовать Java
для ввода как целого числа, так и числа с плавающей точкойedit.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
для ввода только целое числоedit.setInputType(InputType.TYPE_CLASS_NUMBER);
В настоящее время используется тег Android:inputType недостаточно.
Вам нужно создать PreferenceChangeListener, чтобы проверить заполненный EditText, прежде чем изменить предпочтение.