EditText如何只接受整数或浮点值?

时间:2012-06-22 03:43:41

标签: android android-edittext

我是Android开发的新手。在我的项目中,我正在使用EditText,但我想强制它只接受整数或浮点值。我怎么能这样做?

3 个答案:

答案 0 :(得分:51)

如果您只想在EditText上使用十进制数

在EditText小部件中使用xml属性android:inputType="numberDecimal" 您的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>

答案 1 :(得分:3)

使用Java

输入整数和浮点数

edit.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

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

答案 2 :(得分:0)

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

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

在首选项更改之前,您需要创建一个PreferenceChangeListener来验证已填充的EditText。