Platform/Android

[EditText] 문자열 변경을 감지하고 싶을 때? addTextChangedListener

개랭갱깽스타 2022. 2. 28. 12:10

EditText 에서 문자열 변경에 따른 처리를 해주고 싶을 때 유용한 리스너이다.

 

id_edit_text.addTextChangedListener(object: TextWatcher {

    //변경되기 전, 변경되는 정보를 전달해주기 위한 메서드
    //p0: 현재 입력된 문자열
    //p1: 변경 시작할 위치(start)
    //p2: 시작할 위치 부터 변경될 길이(count)
    //p3: 변경 후, 변경된 길이(after)
    override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
        TODO("Not yet implemented")
    }

    //변경되는 시점에 변경"된" 정보를 전달해주기 위한 메서드
    //p0: 현재 입력된 문자열  Warning) p0를 변경할 시, 해당 메서드가 재호출 된다! 무한루프에 빠질 수도 있음!
    //p1: 변경 시작할 위치(start)
    //p2: 이전 문자열에서 해당 길이만큼 바뀜(before)
    //p3: 시작할 위치 부터 변경될 길이(count)
    override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
        TODO("Not yet implemented")
    }

    //p0 내의 어느 문자열이 변경되었음을 알려주기 위해 호출되는 메서드
    override fun afterTextChanged(p0: Editable?) {
        TODO("Not yet implemented")
    }
})

 

이 리스너를 이용해서 

EditText 입력값이 있을 때와 없을 때, EditText 의 밑줄(?) 을 변경할 수 있다.

android:backgroundTint

 

 

해당 리스너를 이용해서 방법이 궁금하다면?

⬇️⬇️⬇️

 

 

.참고

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=777lover&logNo=10131263714 

 

문자열 변경 이벤트(beforeTextChanged/afterTextChanged/onTextChanged) 및 문자열제한(LengthFilter)

문자열 변경 이벤트(beforeTextChanged/afterTextChanged/onTextChanged) 및 문자열제한(LengthFil...

blog.naver.com

 

반응형