如何在android中确认密码?
我有两个编辑文本,一个用于输入密码,另一个用于确认此密码。这些编辑文本的最大长度为5如何在android中确认密码?,android,passwords,password-confirmation,Android,Passwords,Password Confirmation,我有两个编辑文本,一个用于输入密码,另一个用于确认此密码。这些编辑文本的最大长度为5 confirmPwdEdiText.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) {} public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public voi
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();
}
}
}
}
});
confirmPwdEdiText.addTextChangedListener(新的TextWatcher(){
公共无效后文本更改(可编辑的s){}
更改前的公共无效(字符序列、整数开始、整数计数、,
在{}之后加int
public void onTextChanged(CharSequence CharSequence、int start、int before、int count)
{
字符串pwd=passwordEdiText.getText().toString();
字符串confirmation=charSequence.toString();
如果((pwd==null | | pwd.trim().length()0){
Toast.makeText(上下文“输入密码”,Toast.LENGTH_SHORT).show();
}
else if(pwd!=null&&pwd.trim().length()>0){
如果(confirmation.trim().length()==pwd.length()){
如果(pwd.等于(确认)){
密码=pwd;
Toast.makeText(上下文,“密码匹配”,Toast.LENGTH_SHORT).show();
}
否则{
Toast.makeText(上下文,“密码不匹配”,Toast.LENGTH_SHORT.show();
}
}
}
}
});
当我将此用于确认密码时,删除密码时会再次显示“密码不匹配”。如何在不使用按钮单击或任何其他方法的情况下有效地确认密码
提前感谢您您可以添加一个按钮,然后单击按钮验证密码的侦听器。您可以使用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
}
});
参考这个简单的例子,你会得到线索 它的简单逻辑是,如果两个字符串都不为null或空,则将旧密码与新密码进行比较;如果检查旧密码和新密码的长度,并比较两个密码是否相等,则在else中进行比较 如果选择“简单验证”,则可以使用此选项
@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();
}
}
试试这个
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;
}
用于在共享首选项文件中存储密码并选中按钮单击共享首选项文件。很抱歉,我编辑了我的代码。请检查。如何使用TextWatcher确认密码?将pwd替换为charSequence…bcz此ur字符串我知道。我的问题是如何确认密码?在if Loop中添加长度条件,同时此代码段是wel来吧,可能会提供一些帮助,这将是如何解决问题以及为什么解决问题的。请记住,你是在将来为读者回答这个问题,而不仅仅是现在提问的人!请你的回答添加解释,并指出适用的限制和假设。请在此处评论你需要的任何其他逻辑