前言
在发这一篇文章之前,我也查询过别人的写法,我个人觉得都不是很满意,所以就自己写了一个,因为我们项目中经常会遇到输入数字的时候各种限制。
1、 首先介绍第一种情况,当用户首为输入为0的时候,就禁止输入,贴上代
码:
//第一种情况
if (integral.toString().equals("0") || s.toString().startsWith("0")) {
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(1)}); //当输入为0的时候限制输入
} else {
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(5)});
}
2、 第二种情况是,当用户首位输入0的时候,在输入大于0就直接顶替,否则为0,贴上代码:
//第二种情况
if (TextUtils.isEmpty(s.toString())) {
editText.setText("0");
editText.setSelection(1);
}
if (s.toString().length() >= 2 && s.toString().startsWith("0")) {
editText.setText(s.toString().substring(1));
editText.setSelection(s.toString().length() - 1);
}
代码就是这么简单,我附上Demo
https://github.com/214024475/Blog_Demo/tree/master/Edittext_demo