我正在开发一个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
,但我无法看到错误发生。
有没有其他方法可以这样做,所以我可以处理这两个功能。
非常感谢先进!!!
答案 0 :(得分:0)
您可以检查如下错误:
if(view.getError() == null) return;
请参阅此处的文档
getError()
返回设置为显示的错误消息 setError(CharSequence),如果未设置错误或错误,则返回null 在用户输入后由小部件清除。
答案 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一样。