如何在嵌套片段内的两个子片段之间进行通信

时间:2013-08-12 22:18:44

标签: android interface fragment

我可以通过回调fragment轻松地在活动的两个interface之间进行通信。按照这种方式,我在ParentFragment中实现了一个接口来进行通信。

但是在活动的情况下,我正在使用 -

 @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 个答案:

答案 0 :(得分:7)

强制转换是为了确保某个对象是实现给定接口的类的实例(在本例中为OnHeadlineSelectedListener)。在这一点上,它与活动,片段或其他任何类型的对象无关。只要它实现了您需要的界面,它就可以了。