.
然后我们再来去看fragment与Activity的通信怎么用
首先看一下上节课中,我们在MainActivity中,可以看到,我们有两个按钮,一个是添加一个是删除,在
添加按钮中,我们替换了我们在main_activity.xml中,写的那个frame_layout,替换成了一个maziFragment这个fragment.
然后删除按钮,我们又把这个maziFragment给删除了.
我们先去看看之前写的那个
activity_main.xml文件,可以看到里面有两个按钮,一个FrameLayout.
这里首先我们给activity_main.xml中,再去添加一个button,可以看到,这个按钮的作用是,
修改fragment界面.因为我们的button是在MainActivity中的,然后我们的fragment是另一个fragment类,所以
这个时候就涉及到fragment和activity之间的通信了.
然后我们在这个fragment_maizi.xml中,我们添加一个textview,当我们
点击mainactivity中的那个修改fragment的按钮的时候,我们就来,修改一下
我们的fragment中的那个textView的文本.
现在我们是从activity中,调用了一个fragment的方法,从而实现了对fragment的修改,
我们这样可以理解为这是从activity到fragment的通信.
那么从fragment到activity的通信怎么做的呢?
我们再去看一下:
比如我们在fragment中有个按钮,我们点击这个按钮的时候,我们想让他来修改activity中的值,这个时候怎么做呢?
这里我们在MaziFragment这个fragment这类中,我们怎么能够获取到MainActivity呢
因为,我们的这个MaziFragment是处于在MainActivity中的,所以,我们通过getActivity()方法
可以获取到MainActivity
然后可以看到我们在这个
MaziFragment中,我们获取这个mainActivity以后,我们希望,调用他的
modify这个方法,这样来修改mainActivity中的内容.
我们在mainActivity中,可以修改,activity_main.xml中的这个tv_in_activity,这个TextView的值.
我们在MAinActivity中去完善这个modify方法,然后去修改上面我们说的那个啊mainActivity中的TextView的值.
然后我们去运行一下,我们先去点击添加FRAGMENT 来添加上这个fragment.
然后我们去点击这个fragment中的按钮,去修改mainActivity中的那个textview的值.
可以看到我们点击fragment中的那个按钮以后,我们可以看到
mainActivity中的那个TextView的值就被修改了.也就是我们在fragment中,修改了
mainActivity中的内容,也就相当于,我们实现了fragment到activity的通信.
最新评论