本篇文章从初学者的角度出发,针对不知道如何对EditText文本限制怎么下手的工作者,本片文章已经写成工具类,大家可以直接拿来使用 或者加以修改
/**
* 限制edit文本输入
*/
class AstrictEdit implements TextWatcher {
private int astrictMax; //最大值
private EditText editText; //需要限制的控件
void astrict(EditText editText, int astrictMax){
this.astrictMax = astrictMax;
this.editText = editText;
editText.addTextChangedListener(this);
}
@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) {
int length = s.toString().length();//获得文字长度,并且把光标移动到文本长度最大值处,大于文本限制就会截取。
editText.setSelection(length);
if (length > astrictMax) {
String substring = s.toString().substring(0, astrictMax);
editText.setText(substring);
}
}
}