Fragment的生命周期以及跟Activity之间互相传值小总结
2016-09-01 20:46
253 查看
Fragment的生命周期
生命周期: onAttach()
当fragment被绑定到Activity时调用
onCreate()
创造一个fragment
onCreateView()
返回一个自定义的视图
onActivityCreated()
Activity的onCreate()返回以后
onStart()
启动fragment
onResume()
获得焦点
onPause()
失去焦点
onStop()
停止fragment
onDestroyView()
销毁视图
onDestroy()
销毁fragment
onDetach()
断开与Activity之间的联系
其中onAttach()与onDetach()对应,onCreateView()与onDestroyView()对应
Fragment与Activity之间互相传值问题
1,从Activity传值到Fragment中:
需要一个自定义的布局以及一个继承了Fragment的类(onCreateView中返回一个
自定义布局的视图)
先创建一个Bundle:Bundle bundle=new Bundle();
然后把数据放入Bundle中:bundle.put<数据类型>(键,值);
创建一个继承了Fragment的类的对象
然后用这个对象.setArguments(bundle);
再新建一个事务FragmentTransaction,开始这个事务
然后用Fragment的对象替换掉Activity里的某个容器,提交下事务
在继承了Fragment的类中,重写一下onAcitivityCreated方法
然后用一个Bundle对象接收一下Activity传过来的Bundle值(getArguments)
通过bundle的键,来获得bundle的值,然后实现了从Activity中传值到
Fragment中
2,从Fragment中传值到Activity
使用的方法是接口的回调:
新建一个接口,在接口中定义一个方法,并给一个所需的数据的数据类型的
参数
在Fragment中,设置一个接口的全局变量,重写onAttach()方法
把方法中的activity强转为接口类型用全局变量的接口接收下
在事件中调用接口的方法,并把需要传的数据作为该方法的参数
在Activity中,实现该接口并重写里面的方法,在重写的方法里面,获得的参
数的值就是从Fragment中传过来的
3,从Fragment中获取Activity中的某个控件的某些属性或数据
在Fragment中,重写onActivityCreated方法
然后通过getActivity()方法来获得Activity的视图,从来根据ID来寻找控件并获
得该控件得属性或者数据
4,从Activity中获取Fragment中某个控件的属性或者数据
在Activity中,通过FragmentManager来寻找Fragment的视图
manager.findFragmentById(容器).getView()
然后通过该视图即可获得该Fragment中某个控件的属性或者数据了
生命周期: onAttach()
当fragment被绑定到Activity时调用
onCreate()
创造一个fragment
onCreateView()
返回一个自定义的视图
onActivityCreated()
Activity的onCreate()返回以后
onStart()
启动fragment
onResume()
获得焦点
onPause()
失去焦点
onStop()
停止fragment
onDestroyView()
销毁视图
onDestroy()
销毁fragment
onDetach()
断开与Activity之间的联系
其中onAttach()与onDetach()对应,onCreateView()与onDestroyView()对应
Fragment与Activity之间互相传值问题
1,从Activity传值到Fragment中:
需要一个自定义的布局以及一个继承了Fragment的类(onCreateView中返回一个
自定义布局的视图)
先创建一个Bundle:Bundle bundle=new Bundle();
然后把数据放入Bundle中:bundle.put<数据类型>(键,值);
创建一个继承了Fragment的类的对象
然后用这个对象.setArguments(bundle);
再新建一个事务FragmentTransaction,开始这个事务
然后用Fragment的对象替换掉Activity里的某个容器,提交下事务
在继承了Fragment的类中,重写一下onAcitivityCreated方法
然后用一个Bundle对象接收一下Activity传过来的Bundle值(getArguments)
通过bundle的键,来获得bundle的值,然后实现了从Activity中传值到
Fragment中
2,从Fragment中传值到Activity
使用的方法是接口的回调:
新建一个接口,在接口中定义一个方法,并给一个所需的数据的数据类型的
参数
在Fragment中,设置一个接口的全局变量,重写onAttach()方法
把方法中的activity强转为接口类型用全局变量的接口接收下
在事件中调用接口的方法,并把需要传的数据作为该方法的参数
在Activity中,实现该接口并重写里面的方法,在重写的方法里面,获得的参
数的值就是从Fragment中传过来的
3,从Fragment中获取Activity中的某个控件的某些属性或数据
在Fragment中,重写onActivityCreated方法
然后通过getActivity()方法来获得Activity的视图,从来根据ID来寻找控件并获
得该控件得属性或者数据
4,从Activity中获取Fragment中某个控件的属性或者数据
在Activity中,通过FragmentManager来寻找Fragment的视图
manager.findFragmentById(容器).getView()
然后通过该视图即可获得该Fragment中某个控件的属性或者数据了
相关文章推荐
- Fragment的生命周期以及跟Activity之间互相传值小总结
- Fragment与Activity之间传值,Fragment与Fragment传值以及对commit的理解
- Android笔记(9)---Fragment的生命周期以及在Activity之间的传值
- ANDROID安卓activity与fragment,activity之间互相传值(一)
- ANDROID安卓activity与fragment,activity之间互相传值(四)
- android自学第五天 Activity生命周期以及Activity之间的传值
- ANDROID安卓activity与fragment,activity之间互相传值(三)
- Fragment的生命周期以及相关库函数的执行流程总结
- android中fragment与activity之间通信原理以及例子
- Fragment的生命周期&同一Activity下不同Fragment之间的通信
- Fragment与Activity之间传值
- Fragment的生命周期以及Fragment之间的切换
- 备忘宝小项目的总结(二) Fragment 与 Activity,与Fragment之间的通信
- Activity与Fragment的生命周期的总结与理解
- fragment中onCreateView与onActivityCreated的区别,以及fragment中生命周期的利用
- 安卓学习第28天:使用Intent在活动之间传递数据以及Activity的生命周期实例
- activity以及fragment的生命周期
- Activity之间切换 以及传值
- android中Fragment与Activity之间通信原理以及例子
- android中fragment与activity之间通信原理以及例子