最近把跟小伙伴项目的一部分做完了,终于没借口偷懒了,今天就把Fragment与Activity之间通信做一个大汇总。
1、Activity与Fragment通信。
Activity向Fragemnt中传入数据时,通常将数据封装到一个Bundle对象中,通过setArguments()
方法将对象传入启动的Fragment,在Fragment中,我们可以通过getAragument()
方法获得bundle,解析出数据。
①封装bundle对象
Fragment1 = new Fragment1();
Bundle args = new Bundle();
args.putInt("id", 1);
Fragment1.setArguments(args);
②在Fragement中获取bundle
Bundle bundle = getArguments();
int id = bundle.getInt("id");
2、Fragment与宿主Activity通信
我们在Fragment中的onAttach声明一个接口,在宿主Activity中实现这个接口,当在Fragment中发生事件比如按钮点击事件,我们调用回调接口,宿主Activity就可以接收到该消息
①在Fragment中声明接口
public onCallBackListener onCallBackListener;
public interface onCallBackListener{
public