如何将TextWatcher与EditText一起使用

时间:2018-11-09 15:19:16

标签: textwatcher

我正在尝试实现一个仅接受十六进制数字的应用程序,并且每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。有人可以帮我解决这个问题吗?

0 个答案:

没有答案