具有IF功能的OnClick Listener

时间:2013-01-31 08:09:51

标签: java android

我需要在我的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);  
            }
        }
    });

2 个答案:

答案 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()

希望它有所帮助。