要限制用户在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 });
editText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
if (s.length() != 6) {
editText.setError("请输入长度为6的字符串");
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});
String pattern = "^[a-zA-Z0-9]+$";
String input = editText.getText().toString();
if (!input.matches(pattern)) {
editText.setText("");
editText.setError("只能输入字母和数字");
}
以上是几种常用的方法来限制用户在EditText框中只能输入一定范围的值。根据具体的需求,可以选择适合的方法来实现。
领取专属 10元无门槛券
手把手带您无忧上云