AlertDialogとEditTextを介してユーザーからパスワードを取得する必要があります。ユーザーがこのAlertDialogを開いてから、 [キャンセル]または[戻る]ボタンを押すと、通常は消えます。ただし、ユーザーがこのAlertDialogを再度開くと、アプリケーションが壊れます。ここにある私のコード、どこで間違いを犯しているのですか?
sifrePencere.setTitle("Çıkış");
sifrePencere.setMessage("Uygulamayı kapatmak için lütfen şifreyi giriniz:");
sifrePencere.setView(sifre);
sifrePencere.setPositiveButton("Tamam", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String girilenSifre = sifre.getText().toString();
SQLiteDatabase db = vt.getReadableDatabase();
Cursor kayit = db.rawQuery("SELECT sifre FROM CocukTableti", null);
kayit.moveToFirst();
if (girilenSifre.equals(kayit.getString(0))) {
android.os.Process.killProcess(android.os.Process.myPid());
} else {
dialog.dismiss();
dialog.cancel();
Toast.makeText(getApplicationContext(), "Girilen şifre hatalı!", Toast.LENGTH_SHORT).show();
}
}
});
sifrePencere.setNegativeButton("Vazgeç", null);
sifrePencere.show();