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的控件设置参数

 

posted @ 2023-02-27 21:58  -她的梦-  阅读(122)  评论(0编辑  收藏  举报