Android 限制只能输入大于0的两位小数
时间: 2023-11-24 09:43:23 浏览: 187
在 Android 中,你可以使用正则表达式来限制输入只能是大于0的两位小数。你可以在文本输入框的监听器中检查用户输入的文本,并根据正则表达式进行验证。
以下是一个示例代码,演示如何实现此功能:
```java
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
public class DecimalInputTextWatcher implements TextWatcher {
private static final String DECIMAL_REGEX = "^(0|[1-9]\\d*)(\\.\\d{1,2})?$";
private EditText editText;
public DecimalInputTextWatcher(EditText editText) {
this.editText = editText;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
String input = s.toString();
if (!input.matches(DECIMAL_REGEX)) {
editText.setError("请输入大于0的两位小数");
} else {
editText.setError(null);
}
}
}
```
然后,你可以将此 TextWatcher 应用于你的 EditText 上:
```java
EditText editText = findViewById(R.id.editText);
editText.addTextChangedListener(new DecimalInputTextWatcher(editText));
```
这样,当用户输入不符合要求的值时,EditText 将显示一个错误提示。
请注意,这只是一个简单的示例,你可以根据你的需求进行修改。另外,你还可以在提交表单或处理用户输入时再次验证输入的值。
阅读全文