如何实现DialogFragment与其他Fragment之间的通信?

在使用dialogFragment的时候 已经学会如何进行方法的回调来实现和activity的通信,因为得到activity的实例比较简单,

 DataCallback callback = (DataCallback) getActivity();

但是现在我的dialogFragment是从fragment中弹出的,我想将设置的信息返回给fragment,但是我不知道如何获取fragment的实例,网上说通过fragment管理器,通过tag,获取其他fragment实例,从而进行fragment之间的通信,但是我的fragment是多个相同界面的fragment,所以我是直接new出来的

 DetailFragment fragment = DetailFragment.newinstance(locations[i]);

所以无从下手,有没有大神能解决下小弟的困惑。

阅读 6.9k
1 个回答

使用setTargetFragment方法先设定你dialogFragment的target,如何使用dialogFragment.show()来启动你的dialogFragment,最后在你的dialogFragment中使用getTargetFragment().onActivityResult(getTargetRequestCode(),resultCode,intent);将你的返回的信息通过intent返回

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题