我是新来的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,之前的偏好改变。