728x90
전화번호를 입력받을때는 단순히 아래 코드와 같이 자동 치환 메소드를 쓰면 되지만
addTextChangedListener(new PhoneNumberFormattingTextWatcher("KR"));
휴대전화번호 작업을 하던 도중, 모든 번호 입력방식을 휴대전화번호와 같이 입력받아야하는 일이 생겼다.
다음 코드와 같이 위쳐 코드를 확장하여 수정하면 모든 번호를 휴대전화 형식에 맞추어 입력할 수 있다.
phoneText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() == 4 && !phoneText.getText().toString().substring(3).equals("-")) {
s.insert(3,"-");
}
if (s.length() == 8 && !s.toString().substring(7,8).equals("-")) {
s.insert(7,"-");
}
if (s.length() == 13 && s.toString().substring(7,8).equals("-")) {
s.delete(7, 8);
if(!s.toString().substring(7,8).equals("-")){
s.insert(8,"-");
}
}
if (s.length() == 12 && s.toString().substring(8,9).equals("-")) {
s.delete(8, 9);
if(!s.toString().substring(8,9).equals("-")){
s.insert(7,"-");
}
}
}
});
728x90
'Mobile > Android' 카테고리의 다른 글
[Android] Intent로 Activity 화면 전환 시 애니메이션 제거 (0) | 2022.02.10 |
---|---|
[android] 브로드캐스트 리시버, 서비스 만들기 (0) | 2021.12.17 |
[Android] 커스텀 리스트 뷰 AdapterView.OnItemClickListener 리스터 동작 안할때 (0) | 2021.11.29 |
[Android] EditText 작업 중 Softkeyboard(키보드) 띄워져있는 중 OnBackPressed 처리 막기 (0) | 2021.11.09 |
[Android] ADB Install 중 INSTALL_FAILED_ALREADY_EXISTS 에러 발생 했을 때 (0) | 2021.09.15 |
댓글