오늘도 빡세게 코딩을 하며 시간을 보냈다.
하나하나 배운걸 말하기에는 너무나 부족한 시간..
조금씩 나누어서 짧게 짧게 정리하기로 했다.
사실 오늘 이 기능을 알기 전까지,
이런 기능이 있었으면 좋겠다는 생각을 했다.
텍스트가 바뀔때마다 무언가 실행되는 메서드는 없을까?
하고 말이다.
사실 API문서 읽는 것도 서툰 나로써는 누군가에게
물어보거나 우연히 구글링 중 발견한 기술들이 전부기 때문이다.
하지만 이제 API문서는 완벽하진 않지만, 어느정도 읽고 있다.
이야기가 길어졌다.
TextWatcher를 한번 살펴보자
사용법
textView.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
String wiseValue = wiseView.getText().toString();
if(wiseValue.equals("오류")){
}
}
});
자바 코드만 짧게 올리겠다.
나같은 경우는 textView를 선언해두고나서,
addTextChagedListener를 호출하면 저렇게
세개의 메서드가 나타난다.
위에서부터 순서대로 메서드가 실행되는데,
텍스트가 바뀌기전,
텍스트가 바뀌는 중일 떄,
텍스트가 바뀌고 난 후이다.
안에 인자들은 활용하지는 않았지만,
textView가 "오류"라는 글자를 넘겨받아 setText로 글자가 변경되면,
값을 실행하게 되는 것이다.
여러가지 상황에서 switch문을 응용해도 좋을 것 같다.