У меня есть действие с кнопкой, нажмите кнопку, чтобы отобразить AlertDialog, который работает нормально.Но после того, как я нажимаю кнопку «ОК» или «Отмена» на AlertDialog, AlertDialog исчезает по желанию, но странно то, что:
После того, как AlertDialog исчезает, активность, кажется, теряет фокус, это означаетон больше не может касаться его.
Вот код:
protected Dialog onCreateDialog(int id, Bundle args)
{
new AlertDialog.Builder(this).create().show();
Dialog dialog = null;
switch(id)
{
case...
break;
case ID_DIALOG2:
AlertDialog.Builder builder = new AlertDialog.Builder(ControlDialog.this);
builder.setTitle("Prompt");
builder.setMessage("Are you sure to quit?");
builder.setPositiveButton("OK", new AlertDialog.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
Log.e("AlertDialog", dialog.toString()+ " " + which);
// do something else
dialog.dismiss(); // even without dismiss(), the AlertDialog can disappear too.
//ControlDialog.this.dismissDialog(ID_DIALOG2); // doesn't work either
// dialog.cancel(); // doesn't work either
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
Log.e("AlertDialog", dialog.toString()+ " " + which);
// do something else
dialog.dismiss();
}
});
dialog = builder.create();
//dialog.show();
break;
}
return dialog;
}
protected void onPrepareDialog(int id, Dialog dialog)
{
switch(id)
{
case ...
break;
case ID_DIALOG2:
((AlertDialog)dialog).setTitle("Title");
((AlertDialog)dialog).setMessage("Simple Information");
break;
}
}
public void onClick(View v)
{
switch(v.getId())
{
case R.id.show_button:
this.showDialog(ID_DIALOG2, null);
break;
case ...
}
}
Извините, я не могу опубликовать изображение: (
После нажатия на кнопку «Показать» в «Деятельности» появляется диалог AlertDialog.После нажатия на кнопку «ОК» на AlertDialog, AlertDialog исчезает, НО действие не может получать никаких прикосновений.
Если я нажимаю кнопку «НАЗАД» на эмуляторе, то действие может снова получать прикосновенияи с тех пор он будет работать достаточно хорошо, например, снова нажмите кнопку «Показать», а затем снова нажмите «ОК», после того, как AlertDialog исчезнет, действие в порядке, чтобы получать прикосновения без другого нажатия на кнопку «НАЗАД» наэмулятор.
Итак, кто-нибудь может сказать мне, как решить эту проблему (действие не может получать прикосновения в первый раз)?
TIA