我有一个 Activity
public class ShowFileActivity extends FragmentActivity
当发生一些事件时,这个类调用一个DialogFragment
public class ConfirmDialog extends DialogFragment
这是一个简单的确认对话框(带有“关闭”和“确定”按钮)。 如果用户按下关闭按钮,我会调用
dismiss()
然后回到 ShowFileActivity。 否则,如果用户按确定,在进行一些操作后,在对话框中调用关闭后,我将返回到 ShowFileActivity 的父 Activity 。 有办法吗? DialogFragment 是否向他的父 View 发起任何事件?
最佳答案
您可以做的是从 fragment 内部调用包含 Activity 的方法。 根据任何其他 fragment ,您可以调用返回包含 Activity 的 getActivity()。
@Override
public void onDismiss(DialogInterface dialog) {
ShowFileActivity parent = (ShowFileActivity) getActivity();
parent.doWhateverYouWantWhenDialogDismissed();
}
另一种(更奇特的)方法是使用事件总线,例如 otto或 greenrobot .
关于android - 拦截 DialogFragment dismiss 内部 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15647253/