zoukankan      html  css  js  c++  java
  • Android 关于Fragment一些简单注意事项

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

    其实没有什么好说的。

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

    注意下面基本fragmentTransaction.replace();运行

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

      "新建"  (onAttach->onCreate->onCreateView->onActivityCreated)

      "显示"  (onStart->onResume)

      "隐藏"  (onPause->onStop)

      “结束”  (onDestroyView->onDestroy->onDetach)

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

      FragmentB "打开"--->执行FragmentA "隐藏"  再才执行FragmentA “关闭” 执行 Fragment B "新建"  再执行Fragment B 的"显示"

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

    如果不清楚这几点的生命周期,对控制开发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.

  • 相关阅读:
    bzoj 1176 cdq分治套树状数组
    Codeforces 669E cdq分治
    Codeforces 1101D 点分治
    Codeforces 1100E 拓扑排序
    Codeforces 1188D Make Equal DP
    Codeforces 1188A 构造
    Codeforces 1188B 式子转化
    Codeforces 1188C DP 鸽巢原理
    Codeforces 1179D 树形DP 斜率优化
    git commit -m "XX"报错 pre -commit hook failed (add --no-verify to bypass)问题
  • 原文地址:https://www.cnblogs.com/shortboy/p/4500890.html
Copyright © 2011-2022 走看看