2011-04-07 165 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"))) 

我希望它可以帮助ü