My activity opens a dialog. When it closes I need the function ReloadTable()
to be executed. So I am trying to use setOnDismissListener
but its not getting triggered. Could someone please help what I am doing wrong?
Thanks!
AlertDialog.Builder builder;
AlertDialog alertDialog;
Context mContext = getApplicationContext();
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.transaction, null);
builder = new AlertDialog.Builder(new ContextThemeWrapper(TransactionsList.this , R.style.dialogwithoutdim));
builder.setView(layout);
alertDialog = builder.create();
alertDialog.setOnDismissListener(new OnDismissListener() {
public void onDismiss(final DialogInterface dialog) {
ReloadTable();
}
});
builder.show();
I found the real problem.
You should call .show in the dialog, not in the builder.
Try it :)
OK...I figured it out myself.
I had to implement DialogInterface.OnCancelListener and add the onCancel method. It worked!
You have to setOnCancelListener to the AlertDialog.Builder:
In this case you should use
alertDialog.setOnCancelListener(listener)
,andalertDialog.setOnDismissListener
works withdismissDialog(id)
.