2011-04-07 166 views
0

我想在我的身份驗證中創建一個靜態測試,但是當我單擊按鈕「Valider」時什麼也沒有發生,而是當我刪除「if」條件並單擊「valider」按鈕時,下一個活動開始。我認爲有一個問題,當我把測試的條件,但我不知道它是什麼。你能幫我嗎 ?感謝身份驗證Android

public class TabAdmin extends Activity implements View.OnClickListener{ 
private EditText username; 
private EditText password; 

public String user_name; 
public String pass_word; 
private Button valider; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 


setContentView(R.layout.authen); 

username = (EditText) findViewById(R.id.login); 
password = (EditText) findViewById(R.id.pwd); 

valider = (Button) findViewById(R.id.valider); 
valider.setOnClickListener((OnClickListener) this); 
}   
public void onClick(View v) {    
    if (v == valider) { 

    user_name = username.getText().toString(); 
    pass_word = password.getText().toString(); 
    if((user_name=="admin")&&(pass_word=="admin")) 

    { 


     Intent goToNextActivity = new Intent(getApplicationContext(), MenuAdmin.class); 
    startActivity(goToNextActivity); 
    }   

} 

}

回答

1

嘗試使用if (v.equals(valider))代替if (v == valider)

1

一兩件事你比較字符串的方式是不正確的Java。嘗試

if ("admin".equals(user_name) && "admin".equals(pass_word)) { 

雖然任何人都可以從APK中讀取字符串,但這不是做密碼的好方法。

0

,而不是

if((user_name=="admin")&&(pass_word=="admin")) 

使用

if((user_name.equals("admin"))&&(pass_word.equals("admin"))) 

我希望它可以幫助ü