【问题标题】:intercept DialogFragment dismiss inside activity拦截 DialogFragment 关闭活动内部
【发布时间】:2013-03-26 20:57:32
【问题描述】:

我有一个活动

public class ShowFileActivity extends FragmentActivity

当发生一些事件时,这个类调用一个DialogFragment

public class ConfirmDialog extends DialogFragment

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

dismiss()

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

【问题讨论】:

    标签: android android-fragmentactivity android-dialogfragment


    【解决方案1】:

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

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

    另一种(更花哨的)方法是使用事件总线,例如 ottogreenrobot

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多