防止特殊字符在edittext中删除

时间:2019-08-22 11:51:17

标签: java android android-edittext

我有一个edittext,我想输入前缀为$ 0的金额。我设法用数字代替0。像它的$ 0 -----> user按8它将变成$ 80,但是一旦用户按backspace(imageview),它也会删除$符号。 我正在尝试使用现有功能使$符号不被删除。

下面是我尝试用数字替换0的代码,并且还有imageview(Backspace)的单击侦听器。

 amountEdittext.setText("$0");

 amountEdittext.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int 
before, int count) {
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int 
           count,
                                      int after) {

        }

        @Override
        public void afterTextChanged(Editable editable) {

            if (editable.length() > 2) {
                for (int i = 0; i < editable.length() - 1; i++) {
                    if (editable.charAt(i) == '$' && 
        editable.charAt(i + 1) == '0') {
                        editable.delete(i + 1, i + 2);
                    }
                }
            }

        }

   ---------------------------------------------------
    onclick of backspace
 case R.id.t9_key_backspace: {
            // delete one character
            Editable editable = amountEdittext.getText();
            int charCount = editable.length();
            if (charCount > 0) {
                editable.delete(charCount - 1, charCount);
            }

0 个答案:

没有答案
相关问题