내 응용 프로그램에서는 사용자가 전화 번호를 입력하는 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
에서 번호를 삭제하고자 할 때, 그가 제대로 작동하지 않습니다. 미리 감사드립니다.
편집 텍스트 코너에서 사용자가 해당 버튼을 클릭하면 모든 것을 지우면 닫기 버튼이 표시됩니다. – AndroidEnthusiastic