Android:限制EditText只能输入数字

13

在应用程序的Java部分创建EditText时,如何像在xml中一样将其限制为数字?例如:

new EditText(this);

设置类似

<EditText
    android:id="@+id/h1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal"/>
5个回答

14

或许可以像这样?

EditText text = new EditText(this);
text.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);

2
你还可以使用EditText et = View.inflate(this, R.layout.et_input_number, null); - Nathan Schwermann

11

使用android:numeric已经不推荐,应该使用android:inputType="number"


2

请前往文档,查看带有XML属性的表格。它会显示每个项目的代码等效项。

在这种情况下,它是setRawInputType


在这种情况下,setInputType可能是更好的选择,因为它将更新KeyListener。 - Matthew

2
这通常可以解决问题:
android:numeric="integer"

1

只需在 xml 文件中使用以下行:

要仅接受数字,请输入:

 android:inputType="number"

限制输入数字的长度:

android:maxLength="10"

仅接受特定数字:

例1:以下行仅接受1或0。

android:digits="10"

例子2:下面的行只接受数字2或3。

android:digits="23"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接