если условие не работает внутри onClick ()

#android #android-activity #onclick

#Android #android-активность #onclick

Вопрос:

 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("");   

}
  

}

Когда я удаляю условие if, оно работает, но при условии if оно выдает ошибку: «Диспетчер паролей приложения был неожиданно заблокирован».Итак, всем, кто может мне помочь, я заранее благодарю его.

Комментарии:

1. Возникли какие-либо исключения? Пожалуйста, опубликуйте трассировку стека.

2. Вы должны опубликовать, что такое исключение, в вашем logcat, это довольно сложно отлаживать на основе этого. Мне кажется, этот код работает для меня. Я бы также опубликовал XML для вашего макета пароля, я собираюсь предположить, что, вероятно, там что-то не так. Кроме того, чтобы прокомментировать ваш стиль кодирования, я предлагаю вам также использовать скобки в вашем else заявлении. Позже это может привести к неприятным ошибкам, которые трудно отследить.

Ответ №1:

Попробуйте изменить:

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

в:

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