Android/Kotlin

EditText addTextChangedListener에서 에러 표시

lipnus 2019. 3. 19. 13:50
반응형

EditText addTextChangedListener에서 에러 표시



//Meterial EditText
//(https://github.com/rengwuxian/MaterialEditText/wiki)
implementation 'com.rengwuxian.materialedittext:library:2.1.4'

Meterial EditText라는 라이브러리 사용




class MainActivity : BaseActivity() {

private val mHandler by lazy { Handler() }

override fun onCreate(savedInstanceState: Bundle?) {


...

핸들러 선언




editText.addTextChangedListener(
object : TextWatcher {

override fun afterTextChanged(p0: Editable?) {}

override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {}

override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {

    //...

mHandler.postDelayed( {showErrorOnEditText(R.string.oerrorMessage)},1)

//...

}

})


onTextChange는 EditText내부의 글자를 바꿀 때 호출된다.

API문서: https://developer.android.com/reference/android/text/TextWatcher


onTextChanged 안에서

editText.error 이거 변화가 안먹힘.

mHandler 를 이용하여 비동기로 호출.




fun showErrorOnEditText(input: Int){
editText.error = getString(input)
}


반응형