Android Fragment中创建的Fragment回传数据记录

通常会碰到在FragmentParent中创建另外一个FragmentSon, 最后还需要从FragmentSon中传递数据回FragmentParent的情况, 在这里,官方有一种推荐使用方式:

代码如下:

//(FragmentParent.java)
//其中两个参数:this:表示当前的fragmentParent对象, 第二个是请求码
fragmentSon.setTargetFragment(this, 0);
//然后在FragmentParent中复写onActivityResult方法:
@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode != Activity.RESULT_OK){
            return;
        }
        if(requestCode == 0){
            //做操作
        }
    }

//(FragmentSon.java)
//在FragmentSon做的操作如下:
if(getTargetFragment() == null){
    return;
}
Intent intent = new Intent();
Bundle bundle = new Bundle();
intent.putExtras(bundle);
getTargetFragment().onActivityResult(0, Activity.RESULT_OK, intent);

sp: 这是记录文, 内容来自《Android权威编程指南》(第三版)P199

猜你喜欢

转载自blog.csdn.net/qq_37108755/article/details/80831171