Android AlertDialog EditText消除错误

时间:2013-02-24 18:34:58

标签: android android-edittext android-alertdialog

我必须通过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();

2 个答案:

答案 0 :(得分:0)

在代码之上写

mybuilder = new AlertDialog.Builder(this);

之前

sifrePencere.show():

写下这句话

myAlertDialog = mybuilder.create();

答案 1 :(得分:0)

我在OptionsMenu中显示了这个AlertDialog。但我在代码之上定义了变量。所以,错误来自这里。我将这些变量定义为OnOptionsItemClick,它已修复!