我是Android开发的新手。在我的项目中,我正在使用EditText,但我想强制它只接受整数或浮点值。我怎么能这样做?
答案 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是不够的。
在首选项更改之前,您需要创建一个PreferenceChangeListener来验证已填充的EditText。