我有一个片段,里面也有两个片段。我正在尝试将两个片段中的侦听器实现到父片段。但是,我收到一个错误
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof MyPostsUpdateListener) {
myPostsUpdateListener = (MyPostsUpdateListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement MyPostsUpdateListener");
}
}
我已经使用不同的侦听器以相同的方式实现了类似的东西,并且确实有效,但在这种情况下,它被实现到一个活动,而不是一个父片段。
有什么解决办法吗?因为我确信我已经以与其他一些活动相同的方式实现了它,唯一的区别是它是由一个活动实现的,在这种情况下,它会通过一个片段实现一个错误。
要将数据传回父片段,您可以通过调用getParentFragment方法在子片段中获取父片段的实例。
public class ChildFragment extends Fragment {
private void sendToParentFragment(String data) {
Fragment fragment = getParentFragment();
if (fragment instanceof MyPostsUpdateListener) {
myPostsUpdateListener = (MyPostsUpdateListener) fragment;
myPostsUpdateListener.onData(data);
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句