вызывается с помощью:
ShowDialog (DIALOG_LONG_CLICK_MENU_ID);
Нет проблем с утечкой окна при смене ориентации, НО, когда деятельность воссоздается, никогда не вызывается onCreateDialog или onPrepareDialog?
Не знаю, имеет ли это какое-то значение, но активность находится на вкладке.
Любое понимание возможных причин очень ценится!
@Override
protected Dialog onCreateDialog(int id) {
Dialog dialog;
CURRENT_DIALOG = id;
switch(id) {
case DIALOG_LONG_CLICK_MENU_ID:
dialog = displayItemLongClickMenu();
break;
default:
CURRENT_DIALOG = DIALOG_NONE_ID;
dialog = null;
break;
}
return dialog;
}
private Dialog displayItemLongClickMenu() {
AlertDialog alertDialog;
AlertDialog.Builder builder;
builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.activity_item_dialog_title);
// save index and top position
mIndex = getListView().getFirstVisiblePosition();
View vLC = getListView().getChildAt(0);
mTop = (vLC == null) ? 0 : vLC.getTop();
builder.setItems(new String[]{ getString(R.string.delete)},
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
final PomodoroApp pA = ((PomodoroApp)getApplicationContext());
switch (which){
case DELETE_ID:
mDbHelper.deleteActivity(mItemListDialogId);
refactorToDoList();
dialog.dismiss();
break;
default:
break;
}
}
});
alertDialog = builder.create();
alertDialog.setCancelable(true);
return(alertDialog);
}