現在、ユーザーがゲームにアクセスするためにパスワードを入力する必要があるアプリを開発しています。次のifステートメントがありますが、ifステートメントからわかるように、一致をtrueにするために3つの異なる方法を試しましたが、機能しません。
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 からわかるように、挿入されたパスワードと実際のパスワードは同一ですが、プログラムはそうではないと言います!