EditText限制只能输入数字
时间: 2023-07-14 21:10:58 浏览: 65
要限制 EditText 只能输入数字,你可以使用 InputFilter。下面是一个示例代码:
```java
EditText editText = findViewById(R.id.editText);
InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
if (!Character.isDigit(source.charAt(i))) {
return "";
}
}
return null;
}
};
editText.setFilters(new InputFilter[]{filter});
```
这段代码创建了一个 InputFilter 对象,该对象的 filter 方法会检查输入的字符是否为数字。如果不是数字,则返回空字符串,从而阻止其输入。最后,将该 InputFilter 应用到 EditText 上,这样就限制了只能输入数字。
相关问题
限制EditText 只能输入整数
你可以通过设置 EditText 的 InputType 属性来限制用户只能输入整数。具体来说,你可以在 XML 中设置 EditText 的 inputType 为 number,如下所示:
```
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
```
或者在代码中动态设置 EditText 的 inputType,如下所示:
```
EditText editText = findViewById(R.id.editText);
editText.setInputType(InputType.TYPE_CLASS_NUMBER);
```
这样设置之后,用户在输入时只能输入数字,无法输入小数点和其他非数字字符。
android edittext只可以输入数字’
您可以使用Android中的InputFilter来限制EditText只能输入数字。以下是一个示例代码:
```java
InputFilter filter = new InputFilter() {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
for (int i = start; i < end; i++) {
if (!Character.isDigit(source.charAt(i))) {
return "";
}
}
return null;
}
};
editText.setFilters(new InputFilter[]{filter});
```
这个代码片段创建了一个InputFilter,它检查输入的每个字符是否为数字,如果不是数字,则返回一个空字符串,否则返回null。然后将这个InputFilter设置给EditText,以便限制EditText只能输入数字。