Hapus indikator kesalahan dari widget EditText yang divalidasi sebelumnya


106

Saya menggunakan widget EditText, dan saya memvalidasinya dengan setError()metode EditText dan memvalidasi dengan benar.

Tetapi saya memiliki tombol di layar yang sama yang mengarahkan ke aktivitas lain. Dan ketika saya menekan tombol kembali dan kembali ke layar validasi masih muncul.

Jadi pada OnPauseacara aktivitas saya ingin menghapus validasi EditText. Bagaimana itu mungkin.

Jawaban:


277
protected void onPause () {
    TextView textView = ...; // fetch it as appropriate
    textView.setError(null);
}

Karena seperti yang disebutkan dalam dokumentasi:

Jika kesalahannya nol, pesan dan ikon kesalahan akan dihapus.


1
Wow, jadi selain NullPointerException, nilai null benar-benar dimanfaatkan dengan baik. LOL
ralphgabb

4

Di Kotlin:

editText.error = null

Fungsi Ekstensi Kotlin:

Agar lebih mudah dibaca, Anda bisa menambahkan fungsi ekstensi ini

fun EditText.clearError() {
    error = null
}

Di Jawa:

editText.setError(null);

3

Anda juga dapat melakukannya dengan menggunakan berikut ini:

protected void onPause () {    
    mEditText.setError(null);//removes error
    mEditText.clearFocus();    //clear focus from edittext
}

2

cukup letakkan .setError(null)di akhir EditText.

mEditText.setError(null);

0

Di kotlin Anda cukup mengakses properti menggunakan sintaks akses properti

protected void onPause () {
    EditText mEditText = ...; // fetch it as appropriate
    mEditText.error = null
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.