-1

Android アプリへのログイン ページを作成しようとしています。私は2つの編集ビューとボタンを持っています。ログインに静的ユーザー資格情報を使用しています。アプリを実行し、正しいユーザー名とパスワードでログインしようとすると、資格情報が正しくないというメッセージが表示されます。

これが私のコードです。これは非常に単純なコードです

public void sendMessage(View view) {

    EditText user_name = (EditText)findViewById(R.id.txt_username);
    EditText password =(EditText)findViewById(R.id.txt_password);

    if(user_name.getText().toString()=="rotanet" && password.getText().toString()=="rotanet"){
        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        TextView lbl_error = (TextView)findViewById(R.id.lbl_error);
        lbl_error.setText("");
    }
    else{
        TextView lbl_error = (TextView)findViewById(R.id.lbl_error);
        lbl_error.setText("wrong credentials!");
    }
}
4

6 に答える 6

3

文字列を比較するにはequalsorequalsIgnoreCaseの代わりに使用する必要があります==

例:

 if(user_name.getText().toString().equals("rotanet") && password.getText().toString().equals("rotanet"))
{
stuff
}
于 2013-05-14T12:40:49.893 に答える
2

== を使用して文字列を比較しています。

.equals insted を使用します。

if(user_name.getText().toString().equals("rotanet") && password.getText().toString().equals("rotanet")){
于 2013-05-14T12:41:04.327 に答える
2

パスワードを確認するとき gettext().toString().equals("goodpass")の代わりに使用します。値ではなく参照を比較します。====

于 2013-05-14T12:41:34.973 に答える
1

.equals を使用

if(user_name.getText().toString().equals("rotanet") && password.getText().toString().equals("rotanet"))
{
 //dosomething  
}

== 演算子は、2 つの参照が同じオブジェクトを指しているかどうかを判断します。

于 2013-05-14T12:41:33.463 に答える
0

==文字列の内容の比較には使用されません。試すuser_name.getText().toString().equals("rotanet")

== 参照の等価性をテストします。

于 2013-05-14T12:42:29.777 に答える
0

equals メソッドを使用して比較する

if((user_name.getText().toString().equals("rotanet") && password.getText().toString().equals("rotanet"))
{

}
于 2013-05-14T12:42:58.320 に答える