Fragment与Activity之间的数据交互

Activity把值传递给Fragment

1)使用Bundle来传递参数

Bundle bundle = new Bundle();
bundle.putString(Constant.INTENT_ID, productId);
fragment.setArgument(bundle);

获取argument

 @Override
    public void onStart() {
        super.onStart();
        if (isAdded()) {//判断Fragment已经依附Activity
            productId = getArguments().getString(Constant.INTENT_ID);
        }
    }

3)在activity中定义获取值得方法,在fragment中调用

public String getTitles(){
    return "hello";
}

在fragment中调用

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    titles = ((MainActivity) activity).getTitles();//通过强转成activity,就可以获取到传递过来的数据
}

Fragment把值传递给Activity

使用接口回调来进行传值,在fragment中定义接口,在activity中实现接口,接口的参数可以用来传值

fragment之间的传值

在activity里面定义get和set方法,fragment来调用就可以了

你可能感兴趣的:(公司学习记录)