导图社区 Fragment
Fragment基本介绍,包括生命周期,静态,动态添加,Fragment与Activity之间的通信。
Activity的基本介绍,生命周期,常见使用方法,本图知识梳理清楚,非常实用,值得收藏。
这是一篇关于ContentProvider的思维导图。该思维导图比较全面地概括总结了关于这一部分的知识点。有利于了解、学习。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
Fragment
简介
Fragment是andriod 3.0之后引入的新API. Fragment代表了Activity的子模块, Fragment拥有自己的生命周期,也可以接受自己的输入事件。 Fragment的生命周期受它所在的Activity的生命周期控制。
Fragment继承体系
Fragment基类,实现的Fragment必须继承Fragment基类
DialogFragment
ListFragment
PreferenceFragment
WebViewFragment
Fragment 与 Activity通信
两种添加Fragment方式
静态添加
在Activity对应的布局文件中,使用<fragment...../>元素添加Fragment, <fragment..../>元素的andriod:name 属性指定Fragment的实现类。
<fragment andriod:name ="org.crazyit.app.BookListFragment" andriod:id = "@+id/book_List" andriod:layout_width = "0dp" andriod.layout_height ="match_parent" andriod:layout_weight = "1" />
动态添加
在代码中添加fragment到Activity中。
getFragmentManager() .beginTransaction() .add(fragment)
Activity与Fragment
Activity与Fragment相互获取
Activity中获取Fragment
在使用静态添加Fragment的时候,会设置Id 或者 Tag, Activity可以根据Id, Tag来获取Fragment.
FragmentManager.findFragmentById(int Id)
FragmentManager.findFragmentByTag(String tag)
Fragment中获取Activity
getActivity()
Activity与Fragment之间传递数据
Activity向Fragment传递数据
在Activity中创建Bundle数据包,并调用Fragment的setArguments(Bundle bundle)方法,将Bundle数据包传递给Fragment.
Fragment向Activity传递数据
在Fragment中定义一个内部回调接口
让包含Fragment的Activity实现该回调接口
Fragment可回调该方法将数据传递给Activity
Fragment管理与Fragment事务
Activity 管理Fragment 主要依靠FragmentManager. FragmentTransaction 表示Fragment 事务,代表了Activity对Fragment执行的多个改变。
FragmentManager
findFragmentById(int Id)/findFragmentByTag()
根据Id, Tag 获取指定的Fragment.
popBackStack()
将Fragment从后台栈中弹出,模拟用户按下BACK按键
addOnBackStackChangeListener()
注册一个监听器,用于监听后台栈的变化
FragmentTransaction
add()
remove()
replace()
commit()
Fragment生命周期
onCreate()
onCreateView()
每次创建,绘制Fragment的View组件回调该方法,Fragment显示该方法返回的View
onActivityCreated()
当Fragment所在的Activity被启动完成后回调onActivityCreated()方法
onStart()
onResume()
恢复Fragment被回调
onPause()
暂停Fragment被回调
onStop()
onDestroyView()
销毁Fragment所包含的View的组件时被调用
onDestroy()
onDetach()
将Fragment从Activity中删除,替换完成时,回调该方法。