6

我有一个活动

public class ShowFileActivity extends FragmentActivity

当发生某些事件时,此类调用 DialogFragment

public class ConfirmDialog extends DialogFragment

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

dismiss()

并返回 ShowFileActivity。否则,如果用户按下确定,在进行一些操作后,在对话框上调用关闭后,我将返回 ShowFileActivity 的父活动。有办法吗?DialogFragment 是否向其父视图启动任何事件?

4

1 回答 1

8

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

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

另一种(更花哨的)方法是使用诸如ottogreenrobot 之类的事件总线。

于 2013-03-26T22:04:01.877 回答