EditText 输入限制0.1 - 999
时间: 2024-04-08 09:34:54 浏览: 24
要限制EditText的输入范围为0.1到999之间,您可以使用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) {
try {
// 将输入转换为浮点数
double input = Double.parseDouble(dest.toString() + source.toString());
// 检查输入是否在范围内
if (input >= 0.1 && input <= 999) {
return null; // 输入有效,不进行过滤
}
} catch (NumberFormatException e) {
e.printStackTrace();
}
// 输入无效,返回空字符串表示不添加到EditText上
return "";
}
};
editText.setFilters(new InputFilter[] { filter });
```
在上述示例代码中,我们创建了一个InputFilter,并将其应用于EditText。该InputFilter会对输入的字符序列进行过滤,只允许在0.1到999之间的数字输入。如果输入超出了范围,那么将返回空字符串以阻止其添加到EditText上。
请注意,在使用该代码之前,您需要将EditText的id替换为您实际使用的id。
希望这对您有所帮助!如果还有其他问题,请随时提问。