截取Activity中的DialogFragment dismiss操作

6
我有一个活动。
public class ShowFileActivity extends FragmentActivity

当发生某些事件时,这个类会调用一个DialogFragment。
public class ConfirmDialog extends DialogFragment

这是一个简单的确认对话框(有“关闭”和“确认”按钮)。如果用户点击关闭按钮,我会调用

dismiss()

回到ShowFileActivity。否则,如果用户按下确定,在完成一些操作后,在对话框上调用dismiss后,我将返回ShowFileActivity的父活动。有一种方法可以做到这一点吗?DialogFragment是否会向其父视图发出任何事件?

1个回答

8
你可以在片段内部调用包含活动的方法。 与任何其他片段一样,你可以调用getActivity()来返回包含的活动。
@Override
public void onDismiss(DialogInterface dialog) {
    ShowFileActivity parent = (ShowFileActivity) getActivity();
    parent.doWhateverYouWantWhenDialogDismissed();
}

另一种更高级的方法是使用事件总线,例如ottogreenrobot


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接