2011-05-30 2 views
1
public class Admin extends Activity implements OnClickListener{ 
EditText password; 
Button enter; 
private int one=1; 
private int zero=0; 
private String pass; 

protected static String PASSWORD="1234"; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.password); 
    password=(EditText) findViewById(R.id.editText_password); 
    enter=(Button) findViewById(R.id.Button_enter); 
    enter.setOnClickListener(this); 
     } 
@Override 
public void onBackPressed() { 
    setResult(zero); 
    super.onBackPressed(); 
} 
@Override 
public void onClick(View v) { 
    pass=password.getText().toString(); 
    if(pass.matches(PASSWORD)){ 
     setResult(one); 
     Admin.this.finish(); 
    } 
    else 
     password.setText(""); 

} 

}si l'état ne fonctionne pas à l'intérieur onClick()

Quand je supprime la condition if il fonctionne mais avec si la condition il me donne l'erreur: "L'application Password Manager a été stoped de façon inattendue" .Donc quelqu'un qui peut m'aider je le remercie d'avance.

+0

Toute exception lancée? S'il vous plaît poster la pile. – nhaarman

+0

Vous devriez signaler quelle est l'exception dans votre logcat, c'est un peu difficile à déboguer. Ce code fonctionne pour moi, il semble. Je posterais aussi le code XML pour la disposition de votre mot de passe, je vais supposer qu'il y a probablement quelque chose qui ne va pas. Aussi, pour commenter votre style de codage, je suggère que vous utilisiez également des parenthèses sur votre déclaration 'else'. Cela peut conduire à des bogues méchants plus tard qui sont difficiles à traquer. – Bryan

Répondre

3

Essayez de changer:

if(pass.matches(PASSWORD)){ 
... 
} 

dans:

if(pass.equals(PASSWORD)){ 
... 
}