반응형
앱을 구현할때 EditText의 값이 변경될때마다 특별한 처리를 해야할 경우가 있다.
이럴때 TextWatcher 인터페이스를 구현해서, EditText의 이벤트 리스너로 해놓으면 그 상황이 가능하다.
사용방법!
TextWatcher를 import하고,
이렇게 리스너를만든다. 저기에 있는 {.....}안에는 필수 구현 함수가 3가지 존재한다.
함수 호출 순서는 위부터 아래흐름 그대로 실행이 된다.
각 함수의 인자 설명
■ beforeTextChanged(CharSequence s. int start, int count, int after)
- CharSequece s : 현재 EditText에 입력된 값
- int start : s에 저장된 문자열에서 새로 추가될 문자열의 시작 위치 값
- int count : s에 새로운 문자열이 추가된 후 문자열의 길이
- int after : 새로 추가될 문자열의 길이
■ onTextChanger(CharSequence s, int start, int before, int count)
start 위치에서 before 문자열 개수만큼 문자열이 count 개수만큼 변경되었을 때 호출
- CharSequence s : 새로 입력한 문자열이 추가된 EditText의 값을 가지고 있음
- int start : 새로 추가된 문자열의 시작 위치 값
- int before : 삭제된 기존 문자열의 개수
- int count : 새로 추가된 문자열의 개수
■ afterTextChanged(Editalbe a)
마지막 함수에 afterTextChanged안에 있는 setText(s.toString())은
s.toString()을 통해 EditText의 Text값을 불러 올수 있다.
반응형
'Android Studio' 카테고리의 다른 글
[Android Studio / 안드로이드 스튜디오] Activity 전환 애니메이션 (0) | 2021.04.27 |
---|---|
[Android Studio / 안드로이드 스튜디오] Button 숨기기, 비활성화 (0) | 2021.04.23 |
[Android Studio/안드로이드 스튜디오] EditText 커서위치 변경(setSelection) (0) | 2021.04.23 |
[Android Studio /안드로이드 스튜디오] 정규표현식이란? Java (0) | 2021.04.22 |
[Android Studio/안드로이드 스튜디오] Android Activity 생명주기 (Lifecycle) (0) | 2021.04.21 |