我可以通过回调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()
?
答案 0 :(得分:7)
强制转换是为了确保某个对象是实现给定接口的类的实例(在本例中为OnHeadlineSelectedListener
)。在这一点上,它与活动,片段或其他任何类型的对象无关。只要它实现了您需要的界面,它就可以了。