Notice
Recent Posts
Recent Comments
Link
투케이2K
544. (kotlin/코틀린) [간단 소스] 안드로이드 EditText 에딧트 텍스트 addTextChangedListener 사용해 실시간 텍스트 변경 상태 확인 본문
Kotlin
544. (kotlin/코틀린) [간단 소스] 안드로이드 EditText 에딧트 텍스트 addTextChangedListener 사용해 실시간 텍스트 변경 상태 확인
투케이2K 2025. 2. 3. 19:02[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 기술 구분 : EditText / addTextChangedListener
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
inputPhoneEditText!!.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
S_Log.d("PHONE_BEAFORE", inputPhoneEditText!!.text.toString())
}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
S_Log.w("PHONE_CHANGE", inputPhoneEditText!!.text.toString())
// [정규식 수행 숫자만 허용 : 한글, 영문, 특수 문자 등 모두 제거]
var phoneText = inputPhoneEditText!!.text.toString()
var regPhoneText = C_Util.getRexpNumberString(phoneText)
regPhoneText = regPhoneText.trim().replace(" ", "")
if (phoneText.length != regPhoneText.length){ // [제거 된 문자가 있는 경우]
Handler(Looper.getMainLooper()).postDelayed({
inputPhoneEditText!!.setText(regPhoneText.trim()) // [뷰 갱신 수행]
},1000)
}
}
override fun afterTextChanged(p0: Editable?) {
S_Log.e("PHONE_AFTER", inputPhoneEditText!!.text.toString())
}
})
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[결과 출력]
// --------------------------------------------------------------------------------------
>>>>>>>>>> [모바일 가상 키패드 활성 Key 번호 입력 수행] >>>>>>>>>>
I/ViewRootImpl@bc2e4b4[TestActivity]: ViewPostIme key 0
D/PHONE_BEAFORE:
W/PHONE_CHANGE: 0
E/PHONE_AFTER: 0
I/ViewRootImpl@bc2e4b4[TestActivity]: ViewPostIme key 1
D/PHONE_BEAFORE: 0
W/PHONE_CHANGE: 01
E/PHONE_AFTER: 01
I/ViewRootImpl@bc2e4b4[TestActivity]: ViewPostIme key 0
D/PHONE_BEAFORE: 01
W/PHONE_CHANGE: 010
E/PHONE_AFTER: 010
>>>>>>>>>> [모바일 가상 키패드 활성 Key 번호 지우기 수행] >>>>>>>>>>
I/ViewRootImpl@bc2e4b4[TestActivity]: ViewPostIme key 0
D/PHONE_BEAFORE: 010
W/PHONE_CHANGE: 01
E/PHONE_AFTER: 01
I/ViewRootImpl@bc2e4b4[TestActivity]: ViewPostIme key 1
D/PHONE_BEAFORE: 01
W/PHONE_CHANGE: 0
E/PHONE_AFTER: 0
I/ViewRootImpl@bc2e4b4[TestActivity]: ViewPostIme key 0
D/PHONE_BEAFORE: 0
W/PHONE_CHANGE:
E/PHONE_AFTER:
>>>>>>>>>> [다른 앱 및 화면에서 휴대폰 번호 복사 및 카드 등록 팝업창에 붙여 넣기 수행] >>>>>>>>>>
D/PHONE_BEAFORE:
W/PHONE_CHANGE: 010-1234-5678 --------------------------------> 하이픈 특수 문자 포함 된 휴대폰 번호로 붙여 넣기
E/PHONE_AFTER: 010-1234-5678
>>>>>>>>>> [정규식 사용해 숫자 Number 형태 제외한 모든 문자 제거 수행 실시] >>>>>>>>>>
D/PHONE_BEAFORE: 010-1234-5678
W/PHONE_CHANGE: 01012345678 -----------------------------> 특수 문자 정상 제거 및 표시 수행
E/PHONE_AFTER: 01012345678
// --------------------------------------------------------------------------------------
반응형
'Kotlin' 카테고리의 다른 글
Comments