你的位置:首页 > 操作系统

[操作系统][android] fragment的生命周期和通讯


 

重写一下生命周期方法

所有的fragment都是依附于activity的,只有当activity显示出来的时候,fragment才能够创建上去

onAttach,当附加到activity上的时候

onCreate,当界面创建的时候

onCreateView,创建后把View对象返回回来,重要

onActivityCreate,当activity创建的时候

onStart,当界面变成用户可见的时候

onResume,当获取焦点的时候

onPause,当失去焦点的时候

onStop,当界面不可见的时候

onDestroy,当界面销毁的时候

onDestroyView,View对象销毁,重要

onDestroy,fragment销毁

onDetach,取消挂载

 

 fragment之间的通讯

 

布局界面里面有两个fragment,在一个fragment里面修改另外一个fragment的内容

一个fragment1里面有Button,另一个fragment2里面有个TextView,点击按钮实现修改文本

 

重写fragment1的onCreateView()方法,

调用layoutInflater对象的inflate()方法,把布局文件转成View对象

调用View对象的findViewId()方法,得到Button对象

调用Button对象的setOnClicklistener()方法,设置点击事件,匿名内部实现onClick()方法

在onClick()方法里面

调用getActivity()方法,得到容器activity对象,调用getFragmentManager()方法,得到FragmantManager对象,

调用FragmentManager对象的findFragmentById(),获取Fragmant2对象,参数:另一个Fragment2的控件id

 

在Fragment2类里面要暴露一个方法,修改自己内部的控件内容

在上一步得到的Fragment对象里调用这个暴露的方法

 

利用中间的activity容器来达到两个Fragment通讯的目的