志在指尖
用双手敲打未来

Fragment基础知识介绍

1.为什么Fragment被称为第五大组件?
Android中的四大组件为Activity,service,ContentProvider,Broadcast。
Fragment因为有生命周期,运用频率不输于四大组件,可灵活加载到Activity中。
1.1Fragment加载到Activity的两种办法
静态加载:直接在Activity布局文件中指定Fragment。代码如下
<fragment
android:name=”com.example.myfragment.MyFragment”android:id=”@+id/myfragment_1″android:layout_width=”wrap_content”android:layout_height=”wrap_content”/>
动态加载:动态加载需求运用到FragmentManager,这种加载办法在开发中对错常常见的,示例代码如下:
FragmentTransactionfragmentTransaction=getSupportFragmentManager().beginTransaction();//将FragmentA从容器中移除去,削减内存的消耗fragmentTransaction.remove(fragmentA);fragmentTransaction.add(R.id.fragment_layout,newFragmentB());fragmentTransaction.commit();
1.2Fragment与ViewPager搭配运用
通常情况下咱们开发运用最常见的运用情况是TabLayout+ViewPager+Fragment的运用办法,这就涉及到两个常用的适配器的运用,一个是FragmentPagerAdapter,别的一个是FragmentStatePagerAdapter,那么它们之间有什么区别呢?其实很简单,FragmentPagerAdapter适用于页面较少的情况,而FragmentStatePagerAdapter适用于页面较多的情况。
2.Fragment的生命周期
Fragment
界面翻开
onCreate()办法履行!
onCreateView()办法履行!
onActivityCreated()办法履行!
onStart()办法履行!
onResume()办法履行!
按下主屏幕键/锁屏
onPause()办法履行!
onStop()办法履行!
从头翻开
onStart()办法履行!
onResume()办法履行!
按下撤退键
onPause()办法履行!
onStop()办法履行!
onDestroyView()办法履行!
onDestroy()办法履行!
onDetach()办法履行!
Activity
翻开运用
onCreate()办法履行!
onStart()办法履行!
onResume()办法履行!
按下主屏幕键/锁屏
onPause()办法履行!
onStop()办法履行!
从头翻开运用
onRestart()办法履行!
onStart()办法履行!
onResume()办法履行!
按下撤退键
onPause()办法履行!
onStop()办法履行!
onDestroy()办法履行!
在Activity中参加Fragment,对应的生命周期
翻开
FragmentonAttach()办法履行
FragmentonCreate()办法履行!
FragmentonCreateView()办法履行!
FragmentonViewCreated()办法履行
ActivityonCreate()办法履行!
FragmentonActivityCreated()办法履行!
ActivityonStart()办法履行!
FragmentonStart()办法履行!
ActivityonResume()办法履行!
FragmentonResume()办法履行!
按下主屏幕键/锁屏
FragmentonPause()办法履行!
ActivityonPause()办法履行!
FragmentonStop()办法履行!
ActivityonStop()办法履行!
再次翻开
ActivityonRestart()办法履行!
ActivityonStart()办法履行!
FragmentonStart()办法履行!
ActivityonResume()办法履行!
FragmentonResume()办法履行!
按下撤退键
FragmentonPause()办法履行!
ActivityonPause()办法履行!
FragmentonStop()办法履行!
ActivityonStop()办法履行!
FragmentonDestroyView()办法履行!
FragmentonDestroy()办法履行!
FragmentonDetach()办法履行!
ActivityonDestroy()办法履行!
3.Fragment的通讯
3.1在Fragment中调用Activity中的办法
在Fragment中调用Activity的办法很简单,Fragment有个getActivity()的办法,比如,在MainActivity中的一个Fragment中获取MainActivity的引用,并调用MainActivity的某个办法methodA()办法你能够这么写:
MainActivitymainActivity=(MainActivity)getActivity();
mainActivity.methodA();
3.2在Activity中调用Fragment的办法
在Activity中调用Fragment中的办法是最简单的,我想这儿我不用多说吧!直接接口回调即可调用Fragment的任何可拜访的办法。
3.3在Fragment中调用别的一个Fragment的办法
这个可就需求必定的思维性了,首先要想调用FragmentA的办法,除了这个FragmentA自身能够调用外,这个FragmentA所属的Activity也能够调用,要想别的一个FragmentB调用此FragmentA的办法,FragmentB能够直接经过Activity来进行调用,也便是3.1和3.2的结合。

未经允许不得转载:IT技术网站 » Fragment基础知识介绍
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载