1.activty向fragment传递信息 :
1). 动态传递
关键点:方法: setAugument(Budle)和getAugument();
大体思路:
activity: 在activity中new出目标fragment,通过budle类将信息通过键值对储存其中,调用mfragment.setAugument(Budle),最后通过fragmentManager将fragment动态加载到activity中
fragment: 在fragment中调用getAugument()方法得到Budle,然后调用mbudle.get(key)得到信息
2)静态传值
前提: 静态设置fragment完成
在myfrangment类中声明一个字符串成员变量(或其他类型)用于接收数据,并创建它的get&set方法.在activity中利用如下代码:
FragmentManager fragmentManager = getFragmentManager(); Fragment fragmentbyid = fragmentManager.findFragmentById(R.id.frag); MyFragment myFragment1 = (MyFragment) fragmentbyid; myFragment1.setS("静态传值");
获取并且更改fragment的字符串成员变量,从而达到静态传值的目的。
2.fragment向activity中传递信息:
关键点: 接口和多态的使用
大体思路: 在fragment中创建一个接口,让activity实现该接口,通过利用onttach(Activity activity){} 方法使fragment中的一个接口指向目标activty,在接口中声明一个带参数的方法,利用多态通过参数传递信息