EditText addTextChangedListener에서 에러 표시
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)
}