在代碼中,當我按下後退按鈕時會顯示兩次對話框。任何人都可以告訴我如何只獲得一次對話框?按下後退按鈕時會顯示兩次對話框
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed()
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Do you want to save configuration?");
builder.setPositiveButton
("Yes", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
//here saveConfiguration is boolean type
if (saveConfiguration())
{
dialog.dismiss();
finish();
}
else
{
dialog.dismiss();
}
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.dismiss();
finish();
}
});
builder.show();
}
}
謝謝Deepak.This方法也工作正常。 – akhil2003in 2011-05-10 09:33:32