我必须通过 AlertDialog 和 EditText 从用户那里获取密码。当用户打开此 AlertDialog 然后按Cancel或back button时,它会正常消失。但是,当用户再次打开此 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();