当我们使用Fragment的时候会常常与其他的Fragment或者宿主Activity进行交互,今天我们就来讲讲Fragment和Activity之间如何进行通信。
一、 接口回调机制
在讲Fragment和Android通信之前,我们先看一个应用场景,现在有一个需求,在Activity中有一个Button,有个一TextView。现在业务要求是这样,点击Button,改变TextView的值。这是一个再简单不过的Demo,我们通常会这样实现,实例化两个控件,然后为Button添加一个onClickListener事件,然后当前Activity实现onClickListener接口,实现onClick方法。在onClik方法中改变TextView的值。怎么样是不是很简单?接下来,我们说回Fragment,现在你就把Fragment假想成一个Button,当Fragment中有事件触发,修改Activity中是视图信息。逻辑和实现Button的点击事件一样。我们在fragment里面定义一个回调接口(相当于Button的OnClickListener),然后要求宿主activity实现它。当activity通过这个接口接收到一个回调。接下来看下伪代码