2 powerful cat Powerful_cat 于 2016.03.15 17:18 提问

fragment有回调函数吗?

我想实现这样的功能 :
由fragment跳到activity,activity销毁后回到该fragment执行某个方法, 类似activity之间 的 setactivityforresult();

6个回答

qq_28676355
qq_28676355   2016.03.15 17:44

fragment是由回调的 onActivityResult方法的:
我在实际过程中的使用:
一:fragment中的fragment:也就是碎片中的碎片

 getParentFragment().startActivityForResult(intent, 320);

在子碎片中封装刷新方法,在他的父fragment中利用子对象回掉刷新方法

二:在activity中的fragment中:也就是界面中的碎片
activity.startActivityForResult
在fragment中封装刷新方法,在activity中利用fragment对象回掉刷新方法。

以上两个方法在遇到的回掉刷新中从未出现过问题,都能够正确的回掉。

还满足不了:
三:还可以使用广播来做:使用代码组侧广播:但是注意L在activity或者fragment的ondestory生命周期方法中要解除注册。

sjwjay
sjwjay   2016.03.15 17:59

建议你去看下EventBus开源项目,消息处理做的很到位,不要再担心各种通信问题了。

sjwjay
sjwjay   2016.03.15 18:00

https://github.com/GcsSloop/EventBus 对了,附上地址

lxk_1993
lxk_1993   Rxr 2016.03.15 18:41

有数据库 你可以把吧要保存的数据保存到数据库 没有的话 你也可以放大 application里面

luochoudan
luochoudan   Ds   Rxr 2016.03.15 19:57

fragment应该没有,可能是自己没用到过,你可以它们的生命周期自己回调,一样的。

crazy1235
crazy1235   Ds   Rxr 2016.03.18 10:59

可以通过**startActivityForResult()**方法把数据回传给之前的activity,然后通过activity再把数据传送给fragment。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!