如何在嵌套Fragment中的两个子Fragment之间进行通信

10

通过回调接口(callback interface),我可以很容易地在一个activity的两个fragment之间进行通信。按照这种方式,我已经在ParentFragment中实现了一个接口来进行通信。

但是在activity的情况下,我一直在使用 -

 @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        try {
            mCallback = (OnHeadlineSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnHeadlineSelectedListener");
        }
    }

在当前的情况下,我正在使用 mCallback = (OnHeadlineSelectedListener) getParentFragment(); 而不是 mCallback = (OnHeadlineSelectedListener) activity;。一切都运行良好。这种方法可以吗?或者我应该在另一个线程中执行而不是在 onAttach() 中执行?

1个回答

7

重要的事情是确保某个对象是实现了给定接口的类的实例(在这种情况下是OnHeadlineSelectedListener)。在这一点上,对象类型是什么并不重要,可以是活动、片段或任何其他类型的对象,只要它实现了你需要的接口即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接