无法删除格式化卡号Android中的号码

时间:2016-09-15 08:11:24

标签: android android-layout android-widget

您好我创建了一个格式卡号,在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) {
        }
    });

0 个答案:

没有答案