我需要在我的Android应用中为用户创建登录密码。第一部分比较setPass和确认传递然后将其保存在数据库中。我的问题是,别的东西永远不会运行 这是我的代码......
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);
}
}
});
答案 0 :(得分:2)
不要将两个字符串与==
运算符进行比较。请改用String.equals()
。
if(setPass.getText().toString().equals(conPass.getText().toString())){
// your necessary codes
} else {
}
你必须记住,==
比较对象引用,而不是内容。
答案 1 :(得分:0)
试试这个:
if(!setPass.getText().toString().equals( conPass.getText().toString()) ){
使用带有对象的==
或!=
时,会比较内存引用,而不是实际值。要比较该值,请使用equals()
。
希望它有所帮助。