农业开发公司建站过程中必须经历哪些关键步骤?

摘要:农业开发公司企业网站建设,网站建设必须经历的过程,wordpress 固定连接,想做网站的公司Android开发笔记:理解Fragment 导言 本篇文章产生的原因很简单,就是我在
农业开发公司企业网站建设,网站建设必须经历的过程,wordpress 固定连接,想做网站的公司Android开发笔记#xff1a;理解Fragment 导言 本篇文章产生的原因很简单#xff0c;就是我在了解Android Jetpack中的Lifecycle框架时发现Lifecycle具体时间和状态的更新都是由一个名为ReportFragment的Fragment来跟踪的#xff0c;为了更好的了解Fragment是如何追踪Activ…Android开发笔记理解Fragment 导言 本篇文章产生的原因很简单就是我在了解Android Jetpack中的Lifecycle框架时发现Lifecycle具体时间和状态的更新都是由一个名为ReportFragment的Fragment来跟踪的为了更好的了解Fragment是如何追踪Activity生命周期状态的变化我们有必要对Fragment组件进行更深入的探讨。 Fragment管理器 首先我们要探讨的就是Fragment管理器(FragmentManager)我们在进行动态地加载和移除Fragment的操作时都需要借助这个Fragment管理器来开启事务提交请求。Fragment的管理与ViewGroup与View的关系类似一个Fragment既是上一个父Fragment的子Fragment又是下一个子Fragment的父Fragment。而每一个父Fragment都有一个FragmentManager来管理其子Fragment。 我们以Google官网上的一张图为例子 其中绿色的部分代表的是顶级Activity的布局界面蓝色部分就是Activity中的Fragment容器了白色的部分是示例中的最底层的Fragment。在Example 1中Fragment容器中装有两个子Fragment而每一个父Fragment都有一个FragmentManager所以例子一种的包含关系和管理关系如下所示 对于中间第二级的Fragment我们即可以通过getParentFragmentManager来获取管理其自身的FragmentManager还可以通过getChildFragmentManager来获取其管理的Manager。 Fragment事务 所谓的事务我会把它理解为是一组关于Fragment的操作我们可以通过beginTransaction方法来开启一个事务通过这个事务我们可以实现Fragment的添加移除替换等操作。当一切操作都添加完毕后我们可以通过commit方法将当前事务给提交。不过被提交的事务并不会被马上执行相反的它会等待主线程一旦它可以被执行了才会被执行。当然了我们也可以通过commitNow方法来马上触发事务不过需要说明的是commitNow是和addToBackStack不兼容的也就是说一旦你调用了commitNow方法就不能再使用返回栈了。还有一种方法就是调用executePendingTransactions方法这个方法会执行所有被挂起的事务。 触发事务可能会引起Fragment的生命周期的变化具体来说当一个Fragment实例被执行add操作后它会进入到STARED状态之中去。 通过事务我们还可以限制Fragment的生命周期调用setMaxLifecycle方法可以为Fragment设置最大的生命周期所谓的大和小就是靠近运行状态(Resume)的距离距离运行状态越近生命周期越大。 Fragment的生命周期 接下来我们要谈到的是Fragment的生命周期每一个Fragment都有其生命周期。Fragment实现了LifecycleOwner接口说明Fragment也可以使用Lifecycle进行检测。实际上Activity的LifecycleOwner状态的变化也是通过一个特殊的Fragment来进行跟踪的。除了使用Lifecycler之外Fragment与Activity一样本身就带有关于生命周期的回调方法。 还需要说明的是Fragment的视图也单独有一个Lifecycle它独立于Fragment的Lifecycle的Fragment会为其视图维护一个LifecycleOwner我们可以通过 getViewLifecycleOwner() 或 getViewLifecycleOwnerLiveData()进行访问。
阅读全文