java - 在文本字段中输入后如何隐藏 EditText 错误?

标签 java android xml

login

在这里,我第一次尝试使用空白值登录,它成功显示了错误。现在,当我在电子邮件文本字段中输入值时,我希望隐藏错误“需要电子邮件”。当我在电子邮件文本字段中键入第一个键时,我想删除错误消息“需要电子邮件”
。我怎样才能在这段代码中实现这样的功能?

  textInputEmail = (TextInputLayout) findViewById(R.id.text_input_email);
    textInputPassword = (TextInputLayout) findViewById(R.id.text_input_password);
    login =(Button) findViewById(R.id.loginBtn);



login.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        if(!ValidateEmail() || !ValidatePassword())

        {
            return;
        }


        String inputs = "Email : "+ textInputEmail.getEditText().getText().toString().trim();
        inputs +="\n";

        inputs +="Password : "+ textInputPassword.getEditText().getText();

        Toast.makeText(MainActivity.this,inputs, Toast.LENGTH_SHORT).show();
    }

});



}

    private Boolean ValidateEmail() {

        String emailPattern = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

        String emailInput = textInputEmail.getEditText().getText().toString().trim();

        if (emailInput.isEmpty()) {
            textInputEmail.setError("Email required");
            return false;
        } else if (!emailInput.matches(emailPattern)) {

            textInputEmail.setError("Invalid Email");
            return false;
        } else {
            textInputEmail.setError(null);
            textInputEmail.setErrorEnabled(false);
            return true;
        }

    }

最佳答案

您可以使用 TextWatcher 在文本更改时消除错误

    editText.addTextChangedListener(new TextWatcher() {  

                @Override  
                public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {  
                    textInputEmail.setError(null);
                }  

                @Override  
                public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {  
                }  

                @Override  
                public void afterTextChanged(Editable arg0) {  
                }  
            });  

关于java - 在文本字段中输入后如何隐藏 EditText 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56672565/

相关文章:

java - Apache Axis : How to add complex parameter

Java XML : using DOM with StAX to construct a document

xml - 创建后在 xsl 中对表进行排序

java - JScrollPaneLayout怎么设置和JTable一样?

java - 程序运行,只得到空值作为返回值

java - 应用程序上下文使用 Dagger?

java - 使用 UTF-8 将 Java 对象序列化为字符串

android - 如何知道android中的内部存储器大小?

java - Activity_main 无法解析或不是字段

android - AOSP Android 中的永久后台服务?