EditText에 실시간으로 입력된 값에따라 특정 이벤트를 발생시키거나 뷰를 보이게해야 할 때가 있다.
그런경우 TextWatcher라는 Interface를 사용하여 EditText에 실시간으로 입력된 값을 받아 올 수 있다.
editText.addTextChangedListener(object : TextWatcher {
override fun **afterTextChanged**(s: Editable?) {
// text가 변경된 후 호출
// s에는 변경 후의 문자열이 담겨 있다.
}
override fun **beforeTextChanged**(s: CharSequence?, start: Int, count: Int, after: Int) {
// text가 변경되기 전 호출
// s에는 변경 전 문자열이 담겨 있다.
}
override fun **onTextChanged**(s: CharSequence?, start: Int, before: Int, count: Int) {
// text가 바뀔 때마다 호출된다.
checkEmail()
}
})
afterTextChanged(s : Editable?) {}
- Text가 변경된 후 호출, s→ 변경후의 문자열
beforeTextChanged(s : CharSequence?, start: Int, count: Int, after: Int )
- Text변경 전 호출 s → 변경전의 문자열
- start : s에 저장된 문자열에서 새로 추가될 문자열의 시작 위치값(인덱스)
- count : s에 새로운 문자열이 추가된 후 문자열의 길이
- after: 새로 추가될 문자열의 길이
onTextChanged(s : CharSequence?, start: Int, before: Int, count: Int)
- Text실시간 호출 s → 실시간으로 변경되는 문자열
- start : 새로 추가된 문자열의 시작 위치 값
- befoer : 삭제된 기존 문자열의 개수
- count : 새로 추가된 문자열의 개수
'Android개발 > XML' 카테고리의 다른 글
[Android][Kotlin] TextWatcher 입력된 text 실시간 관찰 (0) | 2025.06.06 |
---|---|
[Android][XML]ConstraintLayout ChainStyle 정리 (0) | 2025.05.28 |
[Android][XML][EditText] 페이지 진입 시 키보드가 자동으로 올라오는 문제 (0) | 2025.05.28 |
[Android][Kotlin][EditText] 커서를 맨 끝으로 이동 (setSelection) (0) | 2025.05.28 |