EditText上怎么能只接受整型或浮点值?(How can EditText accept onl

2019-07-30 01:59发布

我是新来的Android开发。 在我的项目,我使用的EditText,但我想迫使它只能接受一个整数或浮点数。 我怎样才能做到这一点?

Answer 1:

If you want to use Decimal Number only on your EditText

use the xml attribute android:inputType="numberDecimal" in your EditText widget your EditText declaration will be like this:

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="numberDecimal" />

If you want to use Signed Decimal Number than combine the two Xml attributes android:inputType="numberDecimal" and android:inputType="numberSigned". Your EditText declaration will be like this:

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="numberDecimal|numberSigned" >

</EditText>


Answer 2:

采用Java

对于输入整数和浮点数
edit.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

对于仅输入整数
edit.setInputType(InputType.TYPE_CLASS_NUMBER);



Answer 3:

目前采用了android标签:的inputType是不够的。

见例如https://github.com/udacity/ud851-Exercises/tree/student/Lesson06-Visualizer-Preferences/T06.10-Exercise-EditTextPreferenceConstraints

你需要创建一个PreferenceChangeListener验证填写的EditText,之前的偏好改变。



文章来源: How can EditText accept only integer or float value?