我想知道是否可以创建自己的输入类型,该类型将在您的编辑文本中使用。 例如,我想强迫用户只输入1到5之间的数字,因此输入类型“ number”与我想要的不匹配,我想创建一个新的输入类型,即“ number_1_5”并且只允许用户添加1到5之间的数字。
我在android文档和网络上进行了搜索,但什么都没找到:(
谢谢您的帮助!
答案 0 :(得分:0)
从InputFilter
中用于此目的:
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++) {
String checkMe = String.valueOf(source.charAt(i));
Pattern pattern = Pattern.compile("[12345]*");
Matcher matcher = pattern.matcher(checkMe);
boolean valid = matcher.matches();
if(!valid){
Log.d("", "invalid");
return "";
}
}
return null;
}
};
mEditText.setFilters(new InputFilter[]{filter});