#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)){
...
}