2016-02-05 43 views
0

我在我的註冊活動中有4 EditText s。當用戶填寫表格並移至下一個字段時,我將驗證前一個字段。如果它是正確的,我把一個勾號圖標。如果不正確,我把標準錯誤圖標。錯誤圖標和彈出消息在setError

我已經重寫了setError方法來實現它。這是因爲默認情況下,setError附帶彈出消息,並且當字段正確填充時,我不希望發送任何消息。我只想要刻度圖標

我的問題是,當字段填寫不正確時,我確實需要顯示錯誤彈出消息。但由於我已經覆蓋它,它沒有顯示。

public class MyEditText extends EditText { 

    public MyEditText(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    @Override 
    public void setError(CharSequence error, Drawable icon) { 
     setCompoundDrawables(null, null, icon, null); 
    } 
} 

所以,我的問題是:我怎麼能使用的setError原來的行爲,當我通過圖標不與我打勾的圖標相匹配。

PS:我嘗試使用setCompoundDrawablesWithIntrinsicBounds進行正確驗證,並且使用setError進行錯誤驗證。但是,這給了我不一致的錯誤。這就是爲什麼我決定只使用setError來驗證。

回答

0

用自己的消息編寫自定義的setCustomError方法,並調用編輯文本的setError重寫方法。

+0

請您清楚解釋一下嗎? –