Android 关于Fragment一些简单注意事项

1.Fragment的生命周期一定要了解清楚:

对于其实没有什么好说的。

注意关键字所执行的方法:

当FragmentA(初始化)和FragmentB(后启动的) "新建" 、"显示" 、"隐藏"、“结束” 时调用了那些方法.(按顺便从左到右)

  "新建"  (onAttach->onCreate)

  "显示"  (onCreateView->onActivityCreated->onStart->onResume)

  "隐藏"  (onPause->onStop->onDestroyView)

  “结束”  (onDestroy->onDetach)

  FragmentA "打开"--->执行 "新建"  再执行FragmentA 的"显示"

  FragmentB "打开"--->执行FragmentA "隐藏"  执行 Fragment B "新建"  再执行Fragment B 的"显示"

  FragmentB "关闭"--->执行FragmentB "隐藏"  再执行FragmentA 的"显示"  最后才执行FragmentB “关闭”

如果不清楚这几点的生命周期,对控制开发Fragment的操作非常有影响。

2. 就是FragmentActivity进行控制Fragment。

  关键点: 要不要执行 fragmentTransaction.addToBackStack(null); (通俗点说: 可以返回  还是  不可以返回)

  如果要可以返回的话。在 "自身" 调用 fragmentTransaction.commit(); 之前加上上面那句话。

  注意 是 "自身" 的。

  因为很多时。为了统一调用方法,就傻乎乎的去调用别人的接口,也不知道别人里面写什么。

  结果自己调试N久都不知道什么情况。

3. 在一个Fragment A 嵌入另一个 Fragment B 时. 究竟启动Fragment B时要放在生命周期中的哪个方法呢。

(如果放不好的话,Fragment B 在可以返回的情况下,无法关闭 Fragment A和连带的Fragment B)

   在上面生命周期中说到 "新建" 、"显示" 、"隐藏"、“结束” 这4个词。

   在这4个词中。在Fragment中只会执行一次的就只有 "新建" 和 “结束” 。

   用脑子想想都知道不可能放在“结束”中的方法,所以只能放在"新建"的方法中的 随便一个。

4.如何使用Fragment来处理逻辑而动态显示页面。

  首先,加载一个Fragment方式有以下几种:

  1.add(Fragment fragment, String tag)

    用于加载不用显示UI的Fragment ,不过需要加入标记字符

  2.add(@IdRes int containerViewId, Fragment fragment);

    一看就知道将fragment绑定在UI上containerViewId的显示。

  3.add(@IdRes int containerViewId, Fragment fragment,@Nullable String tag);

    这个又要标记。又要绑在UI上的方式。(我个人用的是最少了)

  相信各位自己已经知道自己要用哪一种方式加载fragment了。

5.

时间: 2024-10-04 15:49:25

Android 关于Fragment一些简单注意事项的相关文章

Android开发——Fragment的简单使用总结

前言: 之前搞项目的时候,就使用了这个Fragment,中间遇到了许多坑,把坑都解决了,现在写一篇较为简单的Fragment使用总结 Fragment的简单介绍: 简单来说,Fragment其实可以理解为一个具有自己生命周期的控件,只不过这个控件又有点特殊,它有自己的处理输入事件的能力,有自己的生命周期,又必须依赖于Activity,能互相通信和托管. 使用Fragment可以精简Activity文件的代码,便于更好的阅读,同时,有着更好的速度加载 使用Fragment的另外一种情况是可以在平板

android中用Fragment的简单介绍和创建选项卡详细列子

Fragment要点 Fragment作为Activity界面的一部分组成出现 可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用. 在Activity运行过程中,可以添加.移除或者替换Fragment(add().remove().replace()) Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的生命周期直接被其所属的宿主activity的生命周期影响. 设计哲学 Android在3.0中引入了fr

Android中Fragment的简单介绍

Android是在Android 3.0 (API level 11)引入了Fragment的,中文翻译是片段或者成为碎片(个人理解),可以把Fragment当成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块. 其中有个经典图,大家就字面上理解下就行: 可以把Fragment设计成可以在多个Activity中复用的模块,为了在Android上创建动态的.多窗口的用户交互体验,你需要将UI组件和

android中fragment的简单使用

1.对于fragment的数据传递最好使用setArguments(Bundle args),而后在onCreate()中使用getArguments()方法取出,在"系统重启"的时候系统会帮助我们储存数据,这样就不会丢失数据. 2.使用newInstance(参数)创建fragment对象,优点是调用者只关心传递的数据是什么,不需要关心传递数据的key是什么. 3.如果想在fragment中使用activity对象,在fragment中使用onAttach(Context conte

Android 关于ViewPager结合碎片Fragment的简单使用

一.      首先在xml添加ViewPager控件 我们希望每个viewpager显示一张图片 新建一个pager_item.xml的文件 代码如下 二.分析   一个ViewPager需要设置一个适配器,这个适配器可以继承FragmentStatePagerAdapter, 适配器同样需要设置数据,这个为适配器添加的是碎片.碎片可以继承Fragment,设置视图,监听等,具体图如下: 三.    上图可知,我们需要新建一个碎片先. 注意,这个继承的Fragment需要是在包android.

Android之fragment生命周期解析

上篇讲到了Fragment的基础应用,现在给大家演示一下Fragment的生命周期是什么样子的.关于Fragemnt的基础应用,请见http://blog.csdn.net/jiapeng2b/article/details/46919859. 一.首先,我们先看一下Fragment的生命周期 跟Activity生命周期的对比 Activity直接影响它所包含的fragment的生命周期,所以对activity的某个生命周期方法的调用也会产生对fragment相同方法的调用.例如:当activi

Android之Fragment用法

本文翻译自Android developer网站上面,原文参考:Building a Dynamic UI with Fragments 当我们需要动态的多界面切换的时候,就需要将UI元素和Activity融合成一个模块.在2.3中我们一般通过各种Activity中进行跳转来实现多界面的跳转和单个界面动态改变.在4.0或以上系统中就可以使用新的特性来方便的达到这个效果--Fragment类.Fragment类似一个嵌套Activity,可以定义自己的layout和自己的生命周期. 多个Fragm

android之Fragment基础详解(一)

一.Fragment的设计哲学 Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕比手机的大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互. 针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的.难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊.Fragment的出现就是为了解决这样的问题.你可以把Frag

[转]Android:Activity+Fragment及它们之间的数据交换(一)

2014-05-18         来源:Android:Activity+Fragment及它们之间的数据交换(一)   简介: 为什么要用Fragment?使用Fragment可以在一个Activity中实现不同的界面.Fragment与 Fragment之间的动画切换,远比Activity与Activity之间的动画切换变化方式多.很多时候,我们通过使用一个Activity,切换 多个Fragment.本次博客,主要列举一下Fragment与它的Activity之间进行数据交换的方式.