2011-01-30 187 views
15
login.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if(username_text.getText().toString() == "admin" && 
        pass_text.getText().toString() == "password"){ 

       startActivityForResult(i, ACTIVITY_CREATE); 

      }else{ 
       Toast.makeText(gps_gui.this, "Your username or password is not correct! Please, insert again", 
         Toast.LENGTH_SHORT).show(); 
       clearEditText(); 
      } 
     } 

    }); 

我试着去检查它,我发现它没有去如果条件。从EditText获取字符串

+1

你应该接受任何正确答案以前的问题。您只需点击答案旁边的复选标记即可将其标记为已接受。 – kcoppock 2011-01-30 06:26:00

+0

我做了很多相同的测试 - 甚至使用“admin”和“password”作为值。太好了! :)感谢您提出这个问题! – aikeru 2011-12-14 22:37:30

回答

29

使用java时,必须使用String.equals(String)方法比较字符串。 ==比较检查字符串对象值是否相等,毫无疑问,它们不是。尝试改变。例如,您可以:

"admin".equals(username_text.getText().toString()) &&"password".equals(pass_text.getText().toString()) 

它也聪明地先放静态字符串,以防值的字符串值被检查为空。