0
Button loginbuttonbutton = (Button) findViewById(R.id.btnLogin);
loginbuttonbutton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        if(inputEmail.getText().toString() == "EdEffort@ncat.edu" &&
           inputPassword.getText().toString() == "Steelers") {
            Intent myIntent = new Intent(view.getContext(),
                                         Host_Setting_PageActivity.class);
            startActivityForResult(myIntent, 0);
        } else {
            System.out.println("Username or password is incorrect");
        }
    }
});

これが私のコードで、アプリケーションは実際に起動しますが、ログイン ボタンを押すたびにアプリケーションが閉じます。

4

4 に答える 4

3

.equals()文字列を比較するために最初に使用します。

==文字列参照を比較します。値ではありません。

.equals()= 文字列の文字の等価性を比較

if((inputEmail.getText().toString().equals("EdEffort@ncat.edu")&&inputPassword.getText().toString().equals("Steelers"))

そして、logcatをここに置くよりも強制的に閉じる場合..

于 2012-05-29T17:19:03.620 に答える
2

文字列の比較には==の代わりにequalsを使用します

    loginbuttonbutton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            if(inputEmail.getText().toString().equals("EdEffort@ncat.edu") && inputPassword.getText().toString().equals("Steelers") ){
            Intent myIntent = new Intent(YOUR_CURRENT_ACTIVITY.this, Host_Setting_PageActivity.class);
            startActivityForResult(myIntent, 0);
        }
            else{
                System.out.println("Username or password is incorrect");
            }
        }
    });

そして、 YOUR_CURRENT_ACTIVITY.thisHost_Setting_PageActivity.classの両方を manifest.xmlに登録していることを確認してください。

于 2012-05-29T17:22:03.637 に答える
0

追加する必要があります

Host_Setting_PageActivity.classをAndroidManifestに

また、「==」ではなく常に.equalsを使用して文字列を比較する必要があります。これは、「==」が文字列オブジェクトのインスタンスを実際に比較し、.equalsが文字列の値をチェックするためです。

于 2012-05-29T17:47:33.833 に答える