ลบตัวบ่งชี้ข้อผิดพลาดออกจากวิดเจ็ต EditText ที่ตรวจสอบก่อนหน้านี้


107

ฉันใช้วิดเจ็ต EditText และฉันกำลังตรวจสอบความถูกต้องด้วยsetError()เมธอด EditText และตรวจสอบความถูกต้อง

แต่ฉันมีปุ่มในหน้าจอเดียวกับที่เปลี่ยนเส้นทางไปยังกิจกรรมอื่น และเมื่อฉันกดปุ่มย้อนกลับและกลับมาที่หน้าจอการตรวจสอบความถูกต้องยังคงปรากฏขึ้น

ดังนั้นในกิจกรรมกิจกรรมOnPauseฉันต้องการลบการตรวจสอบความถูกต้องของ EditText มันเป็นไปได้ยังไงกัน.

คำตอบ:


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

เนื่องจากตามที่ระบุไว้ในเอกสาร:

หากข้อผิดพลาดเป็นโมฆะข้อความแสดงข้อผิดพลาดและไอคอนจะถูกล้าง


2
ว้าวนอกเหนือจาก NullPointerException แล้วค่า null ก็ถูกนำไปใช้ประโยชน์ได้ดีจริงๆ LOL
ralphgabb

5

ใน Kotlin:

editText.error = null

Kotlin ส่วนขยายฟังก์ชัน:

เพื่อให้อ่านง่ายขึ้นคุณสามารถเพิ่มฟังก์ชันส่วนขยายนี้

fun EditText.clearError() {
    error = null
}

ใน Java:

editText.setError(null);

3

คุณสามารถทำได้โดยใช้สิ่งต่อไปนี้:

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


0

ใน kotlin คุณสามารถเข้าถึงคุณสมบัติได้โดยใช้ไวยากรณ์การเข้าถึงคุณสมบัติซึ่งเป็น

protected void onPause () {
    EditText mEditText = ...; // fetch it as appropriate
    mEditText.error = null
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.