我有一项活动
public class ShowFileActivity extends FragmentActivity
当发生某些事件时,此类调用DialogFragment
public class ConfirmDialog extends DialogFragment
这是一个简单的确认对话框(带有“关闭”和“确定”按钮)。 如果用户按下解除按钮,我打电话
dismiss()
然后回到ShowFileActivity。 否则,如果用户按下确定,在进行了一些操作后,在对话后调用dismiss后,我将返回ShowFileActivity的父活动。 有办法吗? DialogFragment是否将任何事件发送到其父视图?
答案 0 :(得分:8)
您可以做的是从片段内部调用包含活动的方法。 根据任何其他片段,您可以调用getActivity()来返回包含的活动。
@Override
public void onDismiss(DialogInterface dialog) {
ShowFileActivity parent = (ShowFileActivity) getActivity();
parent.doWhateverYouWantWhenDialogDismissed();
}
另一种(更有趣的)方法是使用otto或greenrobot等事件总线。