안드로이드에서 기본적으로 전화번호를 입력하면 하이픈이 저절로 그어지도록 지원해준다.
그러나,
int | FORMAT_JAPAN | Japanese formatting |
int | FORMAT_NANP | NANP formatting |
int | FORMAT_UNKNOWN | The current locale is unknown, look for a country code or don't format |
JAPAN 와 NANP (North American Numbering Plan) 밖에 지원해주지 않는다는 사실.
Japan규칙은 모르겠고... 북아메리카는 3-3-x 규칙이더라. 자세한건 위키백과에 나온다. 우리나라는 요즘 대부분 3-4-4
자 그건 그렇고,
설명을 보자면
PhoneNumberUtils.formatNumber() : 현재 지역의 설정에 맞게 서식화.
PhoneNumberUtils.compare() : 두 전화번호를 비교.
PhoneNumberUtils.isEmergencyNumber() : 긴급통화가 가능한지 여부.
PhoneNumberUtils.formatJapaneseNumber() : 일본어 특수 접두어 사용.
PhoneNumberFormattingTextWatcher() : EditText 에 전화번호 입력시 자동서식화
이런것들이 있는데 사용법은 다음과 같다.
1. 어떠한 전화번호 스트링을 주면 하이픈 규칙이 붙어서 리턴받는 방법.
String formattingNumber = PhoneNumberUtils.formatNumber("010123454567");
간단하다.
2. EditText 에 숫자를 입력 받는대로 바로 하이픈 규칙이 되도록 하는 방법.
EditText et = findViewById(R.id.xxx); 해서 객체를 얻어왔다 치면
et.setInputType(android.text.InputType.TYPE_CLASS_PHONE); // 먼저 EditText에 번호만 입력되도록 바꾼 뒤
et.addTextChangedListener(new PhoneNumberFormattingTextWatcher()); // 이렇게 리스너를 걸어주면
번호가 입력되자마자 하이픈이 저절로 붙는 마술을 볼 수 있을 것이다.
맘대로 수정&퍼가도 좋으나 출처만은 남겨주시길...
'개발 > 안드로이드' 카테고리의 다른 글
[안드로이드] 애니메이션의 엘리먼트와 속성 (0) | 2012.04.23 |
---|---|
[Android] ScrollView의 그라데이션, background, 클릭시 노란배경 없애기 (0) | 2012.04.17 |
[번역] 안드로이드 - Painless Threading (0) | 2012.04.13 |
[번역] 안드로이드 멀티 스레드를 통한 성능 향상(이미지 다운로드) (0) | 2012.04.13 |
어플에서 문자(SMS) 메세지 보내기 & 받은 내용 분석하기 (0) | 2012.02.06 |
댓글