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

Kai*_*dul 10 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");
        }
    }
Run Code Online (Sandbox Code Playgroud)

在目前的情况下,我使用mCallback = (OnHeadlineSelectedListener) getParentFragment();而不是mCallback = (OnHeadlineSelectedListener) activity;.一切都运作良好.这种方法可以吗?或者我应该把它改成另一个线程onAttach()呢?

Mar*_*ski 7

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