我有个活动

public class ShowFileActivity extends FragmentActivity

当occours发生某个事件时,这个类调用一个dialogfragment
public class ConfirmDialog extends DialogFragment

这是一个简单的确认对话框(带有“关闭”和“确定”按钮)。
如果用户按下关闭按钮,我将调用
dismiss()

回到ShowFileActivity。
否则,如果用户按“确定”,在执行某些操作后,在对话框上取消调用后,我将返回ShowFileActivity的父活动。
有办法吗?DialogFragment是否向其父视图启动任何事件?

最佳答案

您可以做的是从片段内部调用包含活动的方法。
根据任何其他片段,您可以调用getActivity()来返回包含的活动。

@Override
public void onDismiss(DialogInterface dialog) {
    ShowFileActivity parent = (ShowFileActivity) getActivity();
    parent.doWhateverYouWantWhenDialogDismissed();
}

另一种(更奇特的)方法是使用事件总线,如ottogreenrobot

08-18 20:37