setError中的错误图标和弹出消息

时间:2016-02-05 09:31:44

标签: android

我的注册活动中有4 EditText个。当用户填写表单并移动到下一个字段时,我验证前一个字段。如果它是正确的,我会添加刻度图标。如果不正确,我会输入标准错误图标。

我已经覆盖了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进行验证的原因。

1 个答案:

答案 0 :(得分:0)

使用消息编写自定义setCustomError方法,并在其中调用编辑文本的values覆盖方法。