**ANDROID** activity和Fragment
2017-06-10 10:10
309 查看
>Activity的回调机制
回调机制的解释通用程序框架在完成整个应用个通用功能和流程时,在特定点上需要相应的业务逻辑实现。(java swing中的init()方法,java Thread中的run()方法,都是一种回调机制)
回调机制的存在形式
以接口的形式存在
以抽象方法的形式存在,通过oncreate、onActivityResult()函数能够直接创建一个Activity,例如当有一个Activity被调用时(生成相应的实例时)就会通过onCreate方法创建一个Activity。
>Activity的生命周期
四个状态运行状态:当前Activity位于前台,用户可见,可以获得焦点。
暂停状态:其他Activity位于前台,该activity依然可见,但不能获得焦点
停止状态:该activity不可见失去焦点
销毁状态:activity结束。
生命周期示例图
Activity的四种加载模式
standard:标准模式
每次启动Activityandroid都会启动一个新的实例,并通过Activity添加到当前的task栈顶,就相当于同一个类会有多个对象同时在运行。
sigleTop:Task栈顶单例模式
与standard模式基本相同,但是当要启动的类本身就位于栈顶事,那么将不会重新创建Activity实例,而是复用之前的Activity。
sigleTask:Task内单例模式
在同一个task中只允许有一种实例。不存在创建,存在移动到栈顶显示。
sigleInstace:全局单利模式
无论从哪个任务中启动Activity都会只创建一个单一的实例。
android 采用task栈对Activity进行管理,先启动的放在 task栈底,后启动的Activity被放在了task栈顶。
>Fragment详解
Fragment的简介Fragment代表了Activity的子模块,因此可以吧Fragment理解成Activity片段。Fragment拥有自己的生命周期,能够接受自己的输入事件。
Fragment总作为Activity的界面组成部分。Fragment可调用getActivity()方法返回Activity,Activity可以使用FragmentManager来管理相应的Fragment
Fragment的add(),remove(),replace()方法可以动态地添加、删除或者替换Fragment。
一个Activity可以痛死组合多个Fragment;一个Fragment 也可以被多个Activity复用。
Fragment可以响应自己的输入输出事件,有自己的生命周期。但是收到Activity的控制。
Fragment主要是为了简化大屏手机的UI的设计。
创建Fragment
onCreate()系统创建Fragment回调的方法
onCreateView()当Fragment绘制界面时回调这个方法
onPause()用户离开Fragment后回调的方法
>Fragment与Activity通信
在布局文件中使用>Fragment管理与Fragment事物
FragmentManager可以完成的功能FragmentManager.findFragmentById()/…ByTag()获取指定的Fragment
popBackStack()将Fragment从后台栈中弹出
调用addOnBackStackChangeListener()注册监听器
add()
remove()
commit()
replace()
>Fragment 的生命周期
四种不同的状态运行状态,fragment位于前台获取焦点
暂停状态,activity位于前台Fragment可见
停止状态,Fragment不可见失去焦点
销毁状态,fragment被删除。
生命周期的控制函数。
以下的函数都是回调函数,在不同的时间被触发调用
onAttach()当Fragment被添加到Activity中时
onCreate()创建Fragment时
onActivityCreated()当所在Fragment所在的Activity被启动时
onCreateView()每次创建绘制该Fragment的View组件时
onStart()启动Fragment时
onResume()恢复Fragment时
onPause()暂停Fragment时
onStop()停止Fragment时
onDestroyView()销毁Fragment包含的组件时
onDestroy()销毁Fragment时
onDetach()将该Fragment从Activity中删除时
相关文章推荐
- Android Fragment---给Activity创建事件回调
- Android中Activity中Fragment的应用
- 解决Android中Fragment(SherlockFragment)调用startActivityForResult返回requestCode错误的问题
- Android开发:使用Fragment改造TabActivity
- Fragment、Activity比较——Android碎片介绍
- Fragment、Activity比较——Android碎片介绍
- Android基础——Fragment与Activity交互
- Android开发:使用Fragment改造TabActivity
- Android Fragment---与Activity生命周期的协调
- Android基础——Fragment与Activity交互
- android: Fragment:注意fragment 与activity之间的生命周期
- android开发中fragment的引用以及fragment与activity之间通信的概述
- android开发中fragment的引用以及fragment与activity之间通信的概述
- Android:Activity和Fragment生命周期实践
- Fragment对比Activity - Android碎片介绍
- Android Fragment---与Activity生命周期的协调
- 解决Android中Fragment调用startactivityforresult不能返回结果的问题
- Fragment对比Activity - Android碎片介绍
- Android:Activity切换动画、overridePendingTransition、fragment动画
- Android基础之Fragment与Activity交互详解