2011-01-30 160 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()) 

它也聰明地先放靜態字符串,以防值的字符串值被檢查爲空。