Ho affrontato un problema simile, ma volevo informare un'altra attività relativa alla chiusura della finestra di dialogo (non l'attività che ha creato e mostrato la finestra di dialogo).
Anche se si può semplicemente ignorare il metodo onDismiss()
nel vostro DialogFragment come suggerito Austyn Mahoney, ma si può NON uso setOnDismissListener()
, perché DialogFragment semplicemente non fornisce tale metodo (secondo: Android Developers DialogFragment Reference).
Ma ancora c'è un altro bel modo per informare qualsiasi altra attività sulla finestra di respingere, (ho trovato lì: DialogFragment and onDismiss), qui si tratta:
In primo luogo si dovrebbe rendere la vostra attività (la uno che si desidera passare informazioni sulla finestra respingere) implementare OnDismissListener
:
public final class YourActivity extends Activity implements DialogInterface.OnDismissListener {
@Override
public void onDismiss(final DialogInterface dialog) {
//Fragment dialog had been dismissed
}
}
Sempre secondo Android Developers DialogFragment Reference DialogFragment implementa già OnDismissListener
con onDismiss()
metodo. È per questo che si dovrebbe ignorare e chiamare c'è il metodo onDismiss()
cui si implementato in YourActivity:
public final class DialogFragmentImage extends DialogFragment {
@Override
public void onDismiss(final DialogInterface dialog) {
super.onDismiss(dialog);
final Activity activity = getActivity();
if (activity instanceof DialogInterface.OnDismissListener) {
((DialogInterface.OnDismissListener) activity).onDismiss(dialog);
}
}
}
Si vuole chiudere la finestra, e poi mostrare in un brindisi quando viene respinto? –
sì, è quello che voglio fare – giozh