본문 바로가기
Android Studio

[Android Studio/ 안드로이드 스튜디오] Text 입력 이벤트 처리 방법

by Alkaloid 2021. 4. 23.
반응형

앱을 구현할때 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값을 불러 올수 있다.

반응형