Activity aa
Fragment fa
Fragment fa1
Fragment fb
Fragment fc
Activity ab
如上所示关系,在a1中调用fa1.startActivityForResult()方法,跳转到ab, ab finish() 之前反传值,fa1的onActivityResult()方法没有调用
而是调用其父Fragment fa的onActivityResult方法,此时若想将返回值传递到子Fragment fa1中,可在fa中声明一个回调接口,利用回调的方式
将反传值传递给fa1
上代码:
在fa中代码有如下代码
private CityNameCallback callback;
/**
* 设置回调接口对象
* @param callback
*/
public void setCityNameCallback(CityNameCallback callback){
this.callback=callback;
}
public void interface CityNameCallback {
void onCityNameLoaded(String name);
}
在fa1中有如下代码
(ParentFragment)childFragment.this.getParentFragment().setCityNameCallback(new CityNameCallback(){
//此处即可接受到回调值
public void onCityNameLoaded(String name){
tv.settex(name);
}
}
);
本文介绍了一种在Android应用中实现Fragment之间的返回值传递的方法。具体来说,通过定义回调接口并将其传递给父Fragment,从而使得Activity返回的数据可以被特定的子Fragment接收到。
5811

被折叠的 条评论
为什么被折叠?



