29

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

4

3 回答 3

64

如果您只想在您的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>
于 2012-06-22T03:48:48.127 回答
4

使用 Java

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

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

于 2017-07-25T06:04:41.090 回答
0

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

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

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

于 2017-04-04T18:15:13.987 回答