Формат номера телефона в Android

В моем приложении у меня есть editText, который будет принимать телефонный номер от пользователя. Моя цель, как только пользователь вводит телефонный номер, он должен быть отформатирован (как, например, путем применения текстового измененного слушателя), форматXXX-XXX-XXXX.

Я написал код как

ePhone.addTextChangedListener(new TextWatcher() {

            private Pattern pattern;
            private Matcher matcher;
            String a;


            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub

                boolean flag = true;            
                if (flag) {

                    if (((ePhone.getText().length() + 1) % 4) == 0) 
                    {
                        if (ePhone.getText().toString().split("-").length <= 2) 
                        {
                            ePhone.setText(ePhone.getText() + "-");
                            ePhone.setSelection(ePhone.getText().length());
                        }
                    }
                    a = ePhone.getText().toString();
                } else {
                    ePhone.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) {
                // TODO Auto-generated method stus

            }
        });

Но когда пользователь хочет удалить номер из этогоeditTextне работает должным образом. Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос