Reputation: 1245
I need to create a login password for a user in my android app. The first part compares the setPass and the confirmation pass then saves it in the db. My problem is that else is never run Here is my code below...
savePass.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(setPass.getText().toString()
!=conPass.getText().toString()){
Log.d("login", "Checking whether passwords created ok");
Log.d("login", "setPass: " + setPass.getText().toString());
Log.d("login", "conPass: " + conPass.getText().toString());
error.setText("Passwords do not match!");
}else{
Log.d("login", "showing dialog 0 ");
showDialog(0);
Log.d("login", "Instantiating loginNew");
Login login = new Login();
login.setPassword(setPass.toString());
Log.d("login", "Adding to db");
db.addPassword(login);
Log.d("login", "opening main login form");
Intent intent = new Intent("com.philsoft.budget.activity_main");
startActivity(intent);
}
}
});
Upvotes: 0
Views: 73
Reputation: 5803
Do not compare the two string with ==
operator. Use String.equals()
instead.
if(setPass.getText().toString().equals(conPass.getText().toString())){
// your necessary codes
} else {
}
You have to remember, ==
compares the object references, not the content.
Upvotes: 2
Reputation: 5161
Try with this:
if(!setPass.getText().toString().equals( conPass.getText().toString()) ){
When use the ==
or !=
with objects compares the memory reference, not the actual value. To compare the value should use the equals()
.
Hope it helps.
Upvotes: 0