【问题标题】:How to confirm password in android?如何在android中确认密码?
【发布时间】:2013-03-06 09:33:12
【问题描述】:

我有两个编辑文本,一个用于输入密码,另一个用于确认此密码。这些编辑文本的最大长度为 5。

confirmPwdEdiText.addTextChangedListener(new TextWatcher() {
 public void afterTextChanged(Editable s) {}
 public void beforeTextChanged(CharSequence s, int start, int count,
     int after) { }

 public void onTextChanged(CharSequence charSequence, int start, int before, int count)        
 {

   String pwd = passwordEdiText.getText().toString();
   String confirmaion = charSequence.toString();
   if ((pwd == null || pwd.trim().length() <= 0) &&  confirmaion.trim().length() > 0) {
           Toast.makeText(context,"Enter password",Toast.LENGTH_SHORT).show();
   } 
   else if (pwd != null && pwd.trim().length() > 0 ) {
      if(confirmaion.trim().length() == pwd.length()) {
         if (pwd.equals(confirmaion)) {
            password = pwd;
            Toast.makeText(context,"Passwords match",Toast.LENGTH_SHORT).show();
         } 
         else {
            Toast.makeText(context,"Passwords do not match",Toast.LENGTH_SHORT).show();
         }
      }
   }
 }
});

当我使用它来确认密码时,删除密码时再次显示“密码不匹配”吐司。如何以有效的方式确认密码不使用按钮单击或任何其他方式

提前致谢

【问题讨论】:

  • 用于将密码存储在共享首选项中并使用共享首选项文件检查按钮单击。
  • 对不起。我编辑了我的代码。请检查它。如何使用 TextWatcher 确认密码?
  • 用 charSequence 替换 pwd...bcz 这个你的字符串

标签: android passwords password-confirmation


【解决方案1】:

您可以添加一个按钮和按钮的onClick侦听器验证您的密码。

【讨论】:

    【解决方案2】:

    你可以使用 TextWatcher

    et1.addTextChangedListener(new TextWatcher() {
                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
    
                    // TODO Auto-generated method stub
                }
    
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    
                    // TODO Auto-generated method stub
                }
    
                @Override
                public void afterTextChanged(Editable s) {
    
                    // TODO Auto-generated method stub
                }
            });
    

    【讨论】:

    • 我知道。我的问题是如何确认密码?
    【解决方案3】:

    参考这个简单的例子你会得到线索 如果两个字符串都不为空或为空,则将旧密码与新密码进行比较的简单逻辑,否则检查新旧密码长度的长度并比较两个密码是否相等。

    如果您选择简单验证,则可以使用此功能

        @Override
    public void afterTextChanged(Editable s) {
    
        System.out.println(s.toString());
        String oldPass = oldPassword.getText().toString();
        String newPass = newPassword.getText().toString();
        String confirmPass = confirmPassword.getText().toString();
        if (!oldPass.equals("") && !newPass.equals("") && oldPass.equals(newPass)) {
            Toast.makeText(getContext(), "Choose Different Password than Old Password", Toast.LENGTH_SHORT).show();
        }
        else if (!newPass.equals("") && !confirmPass.equals("") && !newPass.equals(confirmPass) && newPass.length()==confirmPass.length())
        {
            Toast.makeText(getContext(), "Choose same as New Password", Toast.LENGTH_SHORT).show();
        }
    }
    

    【讨论】:

    • 在if循环中添加长度条件
    • 虽然欢迎使用此代码 sn-p,并且可能会提供一些帮助,但它会是 greatly improved if it included an explanation of howwhy 这解决了问题。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人!请edit您的答案添加解释,并说明适用的限制和假设。
    • 在这里评论您需要的任何其他逻辑
    【解决方案4】:

    试试这个

            private boolean checkPasswordNotMatch() {
                String pass=signupInputPassword.getText().toString();
                String cpass=signupInputPassword2.getText().toString();
                if (!pass.equals(cpass)) {
                    signupInputLayoutPassword2.setErrorEnabled(true);
                    signupInputLayoutPassword2.setError(getString(R.string.err_msg_password_confirm));
                    signupInputLayoutPassword.setErrorEnabled(true);
                    signupInputLayoutPassword.setError(getString(R.string.err_msg_password_confirm));
                    return false;
            }
                signupInputLayoutPassword.setErrorEnabled(false);
                return true;
            }
    

    【讨论】:

      猜你喜欢
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      相关资源
      最近更新 更多