Java android中的意图和确认错误

Java android中的意图和确认错误,java,android-intent,if-statement,radio-button,Java,Android Intent,If Statement,Radio Button,我有一个android活动,需要比较名称和密码是否正确,以便让用户使用intent进入下一个活动 但问题是,无论我把系统放在什么地方,都会进入下一个活动,所以有人能帮我吗?? 这是一个java错误,所以我需要帮助 secondActivity.java 您是否在清单中声明了SignSActivity活动?您已经声明了这两个变量: String username = "georges"; String pass = "password"; 然后将它们传递给SignIn SignIn(userna

我有一个android活动,需要比较名称和密码是否正确,以便让用户使用intent进入下一个活动

但问题是,无论我把系统放在什么地方,都会进入下一个活动,所以有人能帮我吗?? 这是一个java错误,所以我需要帮助

secondActivity.java
您是否在清单中声明了SignSActivity活动?

您已经声明了这两个变量:

String username = "georges";
String pass = "password";
然后将它们传递给
SignIn

SignIn(username, pass);
并将参数与相同的变量进行比较。很明显,他们是平等的

if (username2 == username && pass2 == pass)
您需要将用户输入的内容传递到
sign

SignIn(username, pass);

顺便说一句,在比较字符串时,需要使用
equals()
,否则需要比较引用。该行应该是(尽管在上述情况下也是如此):


问题是您没有将用户输入的字符串与
用户名
密码
进行比较。您的代码应该如下所示:

.....

String username;
String password;
String username1;
String password1;
EditText usertext;
EditText passtext;
.....

usertext = (EditText) findViewById(R.id.user);
passtext = (EditText) findViewById(R.id.pass);

username1 = usertext.getText().toString();
password1 = passtext.getText().toString();

.....
private void SignIn(String username2, String pass2) {
// TODO Auto-generated method stub

if (username2.equals(username) && pass2.equals(password)){

......

    }
}
现在,您可以将
username1
password1
传递给您的
SignIn
方法。i、 e
sign(用户名1,密码1)

然后您的
SignIn
方法应进行如下字符串比较:

.....

String username;
String password;
String username1;
String password1;
EditText usertext;
EditText passtext;
.....

usertext = (EditText) findViewById(R.id.user);
passtext = (EditText) findViewById(R.id.pass);

username1 = usertext.getText().toString();
password1 = passtext.getText().toString();

.....
private void SignIn(String username2, String pass2) {
// TODO Auto-generated method stub

if (username2.equals(username) && pass2.equals(password)){

......

    }
}

这是什么错误?请发布日志。当您比较字符串时,需要使用
equals
或者您比较引用:
if(username2.equals(username)和&pass2.equals(pass))
我的意思是,如果在if语句中输入用户名和密码,则系统将允许用户通过。不要使用
==
运算符比较字符串值。使用
equals()
username2
始终等于
username
pass2
始终等于
pass
,那么问题出在哪里呢?问题是,即使我更改为.equal(),系统在编辑框中输入的用户名和密码都允许用户通过;因为在上面的代码中,您从类中传递变量并与它们自己进行比较。