我正在尝试实现一个仅接受十六进制数字的应用程序,并且每4个十六进制数字必须插入一个空格,我设法使用TextWatcher
分别进行此操作:
1.- TextWatcher
仅接受十六进制数字:
public void onTextChanged(CharSequence s, int start, int before, int count) {
String str = s.toString();
if (str.isEmpty()) {
mTextoEditor2.append(newStr);
newStr = "";
} else if (!str.equals(newStr)) {
newStr = str.replaceAll("[^A-F0-9a-f]", "");
mTextoEditor2.setText("");
}
}
2.- TextWatcher
每4个字符插入一个空格:
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (count == 4)
{
mTextoEditor2.setText(mTextoEditor2.getText()+" ");
mTextoEditor2.setSelection(mTextoEditor2.getText().length());
}
}
但现在,我无法将两个都合并成一个TextWatcher
。有人可以帮我解决这个问题吗?