티스토리 뷰

OS/Android

[Android] TextWatcher

유승구 2010.11.30 18:26
1주간... SPAN과 TextWatcher랑 씨름 한 것 같다.
하지만 여전히 잘 모르겠어서 공부를 좀 하기로 했다.

TextWatcher만 단순히 놓고 보자면 얘는 텍스트 입력에 변화가 있을 때마다 이벤트에 맞춰 호출 되는 클래스다.

Summmary를 살펴 보면 가지고 있는 인터페이스는 총 3개

afterTextChanged(Editable s)
- Text 변화 후 발생

beforeTextChanged(CharSequence s, int start, int count, int after)
- 새로운 텍스트 길이로 변화 하게 되면 발생

onTextChanged(CharSequence s, int start, int before, int count)
- 텍스트 변경 시마다 불림

사실 가장 많이 사용되는게 onTextChanged 인데 가만 보면 각각 이벤트를 맞춰서 해줘야 할 때가 적지 않은 것 같다.  

Editable, CharSequence 모두 현재 입력되고 있는 텍스트를 의미한다. start는 시작 위치, count는 글자의 길이, before는 붙여넣기나 잘라내기를 할 때 나타나는 이전에 존재하던 길이를 의미한다. after는 이후의 길이를 말한다. 

setSpan을 보면 start, end Index를 입력 받게 되던데. 이때 주로 start, start+count를 이용한다.
실제 값을 찍어보면 EditText는 1정도의 공간을 가지고 있다. 즉 한칸도 입력되지 않아도 기본 length는 1.

얘는 더이상 쓸게 없는 것 같다. 그럼.. ㅎㅎ
나중에 더 추가 해야 겠다.

댓글
댓글쓰기 폼