EditText上的SetError

时间:2016-03-30 10:48:49

标签: android android-edittext

我正在开发一个Android应用程序。我正在申请EditText OnCllickListener()

 EditText _input = new EditText(context);
_input.setSingleLine(true);
_input.setFocusable(false);

我在OnClickListener()上设置了EditText

_input.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // OnClick work here
            }
        });

我已在此字段上应用了一些验证,并在此setError()上调用EditText方法。它在验证失败时显示EditText中的红色错误图标。但是,当我点击该错误图标时,它会执行此OnClickListener()上的EditText,但我无法看到错误发生。

有没有其他方法可以这样做,所以我可以处理这两个功能。

非常感谢先进!!!

3 个答案:

答案 0 :(得分:0)

您可以检查如下错误:

if(view.getError() == null) return;

请参阅此处的文档

  

getError()
  返回设置为显示的错误消息   setError(CharSequence),如果未设置错误或错误,则返回null   在用户输入后由小部件清除。

Source

答案 1 :(得分:0)

您可以在onclick处理程序中检查当前编辑文本是否处于错误状态:

_input.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (view.getError() == null) {
                    // do not handle the click
                    return;
                }
            }
        });

答案 2 :(得分:0)

我用一个简单的解决方案解决了这个问题。只需在设置错误之前将editText的文本设置为空字符串,错误消息将再次显示,就像没有onClickListener一样。