您好我创建了一个格式卡号,在android
中有这样的分隔符4xxx 4xxx 4xxx 4xxx
我的问题是当我逐个删除号码时,遇到空格时,它就无法删除。请帮我解决问题 这是我的代码:
accountNum.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
boolean flag = true;
String eachBlock[] = accountNum.getText().toString().split(SPACE);
for (int i = 0; i < eachBlock.length; i++) {
if (eachBlock[i].length() > 4) {
flag = false;
}
}
if (flag) {
accountNum.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DEL)
keyDel = 1;
return false;
}
});
if (keyDel == 0) {
if (((accountNum.getText().length() + 1) % 5) == 0) {
if (accountNum.getText().toString().split(SPACE).length <= 3) {
accountNum.setText(accountNum.getText() + SPACE);
accountNum.setSelection(accountNum.getText().length());
}
}
a = accountNum.getText().toString();
} else {
a = accountNum.getText().toString();
keyDel = 0;
}
} else {
accountNum.setText(a);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
}
});