Activity和Fragment之间参数的传递
首先可以通过给Fragment类的构造方法或者普通方法传递参数,把参数赋值给我们碎片类的全局变量,对于构造方法来说,构造方法是先执行的,onViewCreated方法在构造方法之后执行
执行完onResume()方法之后,才会执行我们手写的普通方法,所以如果需要给textview控件赋值,并且使用普通方法的话,就需要在set方法里面进行操作。
其次来介绍如何在两个碎片之间进行数据传递
首先我写了两个碎片和一个活动,这个BothAllActivity活动里面动态添加了碎片A和碎片B,
每个碎片里面有两个控件,分别是一个TextView 和一个Button ,然后介绍两种在碎片之间传递数据的方式
第一种方式:
使用Activity作为媒介,首先给碎片A的按钮设置监听事件,通过getActivity方法获取到碎片所在活动的对象,然后获取到碎片B的对象
在碎片B中设置一个方法,用来接收来自碎片A的信息,最后再setText即可
第二种方式:
这种方式比较抽象,需要使用到接口
简单介绍一下
首先如果我要从碎片A往碎片B传递数据,我可以在A类里面创建一个接口和一个公有抽象方法,再通过set方法从外界传入一个接口的实现类对象
最后通过这个对象执行抽象公共方法,我们这里也就是把第二步传入的参数,让碎片B接收。
在碎片B的onViewCreated方法里面通过getActivity获取到碎片A对象、然后设置setOnListener()里面可以使用匿名内部类,给B的控件设置参数