在Android中取消对话框时出错

在Android中取消对话框时出错,android,dialog,dismiss,Android,Dialog,Dismiss,当我在对话框中按下Cancel(Vazgeç)按钮时,它消失了。但当我再次按下它时,会出现错误。我想我不能忽略这个对话。这是我的密码: sifrePencere.setTitle("Çıkış"); sifrePencere.setMessage("Uygulamayı kapatmak için lütfen şifreyi giriniz:"); sifrePencere.setView(sifre); sifrePencere.setPositiveButton("Tamam", new

当我在对话框中按下Cancel(Vazgeç)按钮时,它消失了。但当我再次按下它时,会出现错误。我想我不能忽略这个对话。这是我的密码:

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();
            Toast.makeText(getApplicationContext(), "Girilen şifre hatalı!", Toast.LENGTH_SHORT).show();

        }

    }
});

sifrePencere.setNegativeButton("Vazgeç", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {

        dialog.dismiss();

    }
});

sifrePencere.show();

删除
对话框。dismise()从“取消”按钮减速,您的问题将得到解决。

您可能应该将错误写入stacktrace。“但当我再次按下它时,会发生错误”,如果对话框消失,您如何再次单击它?你重新制作了吗?还是再次打开同一对话框(实例)?首先单击,它出现。然后,我按下后退按钮或取消(vazgeç)按钮,它会正常消失。但是,当我再次按下打开对话框的按钮时,会出现错误。
sifrePencere.setNegativeButton(“Vazgeç”,null)
-它将显示取消按钮,按下时对话框将被取消。默认情况下,OK,或Cancel按钮将在其方法内执行代码并关闭对话框,因此不要在这两个方法内显式关闭对话框。