第一步:定义editView里面内容长度
int lastLength = 0;
第二步:给edit设置监听时间
etBankNumber.addTextChangedListener(textWatcher);
第三步:定义TextWatch接口
private TextWatcher textWatcher = new TextWatcher() {
@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 etValues = s.toString();
if (lastLength < etValues.length()) {
etValues = clearSpace(etValues);
etValues = insertSpace(etValues);
lastLength = etValues.length();
etBankNumber.setText(etValues);
etBankNumber.setSelection(etValues.length());
}else {
lastLength = etValues.length();
}
}
//清除卡号中的空格
private String clearSpace(String s) {
return s.replace(" ","");
}
//插入卡号中的空格
private String insertSpace(String s) {
if (s.length() > 4) {
return s.substring(0,4) + " " + insertSpace(s.substring(4,s.length()));
}
return s;
}
};