我目前正在开发一个需要用户输入密码才能访问游戏的应用程序。我有以下 if 语句,但它不起作用,正如您从 if 语句中看到的那样,我尝试了三种不同的方法来使匹配等于 true。
EditText passInput = (EditText) findViewById(R.id.passwordBox);
CharSequence Password = passInput.getText();
RelativeLayout loggedIn = (RelativeLayout) findViewById(R.id.LoggedInLayout);
RelativeLayout CreateUser = (RelativeLayout) findViewById(R.id.createUserLayout);
Button loginBtt = (Button) findViewById(R.id.createUser);
String actualPass = password[x];
System.out.println(Password + actualPass + passInput);
if(Password.equals(actualPass)){
System.out.println("They Matched!");
loggedIn.setVisibility(View.VISIBLE);
CreateUser.setVisibility(View.GONE);
loginBtt.setText("Create User");
}else if(Password.toString() == actualPass.toString()){
System.out.println("Second Match");
}else if(Password == actualPass){
System.out.println("Third Match");
}else if(Password.equals(actualPass) == false){
System.out.println("Wrong");
incorrectPassword();
System.out.println(Password);
System.out.println(actualPass);
}
当用户注册时,他们需要设置密码。为了测试,我尝试了密码“trst”,但是当插入登录页面时,它返回不正确。这是我的 LogCat 显示的内容:
11-07 11:46:16.357: I/System.out(1998): Wrong
11-07 11:46:16.547: I/System.out(1998): trst
11-07 11:46:16.547: I/System.out(1998): trst
正如您从 LogCat 中看到的,插入的密码和实际密码是相同的,但程序说它们不是!