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

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

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

如果您只想在您的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="numberSigned"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

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

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

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

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

您需要创build一个PreferenceChangeListener来validation填充EditText,之前更改首选项。