1.官方地址

  https://developer.android.com/jetpack/androidx/releases/fragment

2.引入方法

 dependencies {
def fragment_version = "1.2.5" // Java language implementation
implementation "androidx.fragment:fragment:$fragment_version"
// Kotlin
implementation "androidx.fragment:fragment-ktx:$fragment_version"
// Testing Fragments in Isolation
debugImplementation "androidx.fragment:fragment-testing:$fragment_version"
}

3.版本 1.2.0

2020 年 1 月 22 日 发布了

  • androidx.fragment:fragment:1.2.0
  • androidx.fragment:fragment-ktx:1.2.0
  • androidx.fragment:fragment-testing:1.2.0

版本 1.2.0 中包含以下提交内容。(自 1.1.0 以来的重要变更)

  • FragmentContainerView:我们强烈建议使用 FragmentContainerView 容器来存储动态添加的 Fragment,而不要使用 FrameLayout 或其他布局。FragmentContainerView 同样支持 classandroid:name 和可选的 android:tag(这与 <fragment> 标记相同),但会使用常规的 FragmentTransaction 来添加此初始 Fragment,而不会添加 <fragment> 使用的自定义代码路径。
  • onDestroyView() 调用时机:Fragment 现在会等到退出动画、退出框架转换和退出 AndroidX 转换(使用 Transition 1.3.0 时)完成后再调用 onDestroyView()
  • 基于类的 add() 和 replace():在 FragmentTransaction 中添加了 add() 和 replace() 的新重载,这些重载采用 Class<? extends Fragment> 和 Bundle(可选)参数。这些方法使用您的 FragmentFactory 来构造要添加的 Fragment 的实例。此外,还向 fragment-ktx 中添加了使用具体化类型(例如 fragmentTransaction.replace<YourFragment>(R.id.container))的 Kotlin 扩展程序。
  • Lifecycle ViewModel SavedState 集成:现在将 by viewModels()by activityViewModels()ViewModelProvider 构造函数或 ViewModelProviders.of() 与 Fragment 一起使用时,会使用 SavedStateViewModelFactory 作为默认出厂设置。
  • 新的 Lint 检查:添加了新的 Lint 检查,以确保您在从 onCreateView()onViewCreated() 或 onActivityCreated() 观察 LiveData 时使用 getViewLifecycleOwner()
  • 弃用 getFragmentManager():弃用了关于 Fragment 的 getFragmentManager() 和 requireFragmentManager() 方法,并替换为单个 getParentFragmentManager() 方法,后者会返回添加了 Fragment 的非 null FragmentManager(您可以使用 isAdded() 来确定是否可以安全调用该方法)。
  • 弃用 FragmentManager.enableDebugLogging():弃用了静态 FragmentManager.enableDebugLogging 方法。FragmentManager 现在遵循 FragmentManager 标记的 Log.isLoggable(),以允许您启用 DEBUG 或 VERBOSE 日志记录,而无需重新编译应用。

已知问题

  • ProGuard 不会自动保留仅通过 FragmentContainerView 上的 class 或 android:name 属性引用的 Fragment,需要您为每个 Fragment 类手动添加保留规则。
  • 通过 FragmentContainerView 使用 class 或 android:name 在 XML 文件中添加 NavHostFragment 时,您无法在 Activity 的 onCreate() 中使用 findNavController()

Fragment 1.2.0 更新记录的更多相关文章

  1. ASP.NET Core 1.0 开发记录

    官方资料: https://github.com/dotnet/core https://docs.microsoft.com/en-us/aspnet/core https://docs.micro ...

  2. 更新记录后关闭子窗口并刷新父窗口的Javascript

    有时我们需要在新打开的窗口里面编辑信息,等编辑完了,需要将当前窗口关闭并且刷新父窗口,以使修改生效,本文就是介绍用 javascript 来实现"更新记录后关闭子窗口并刷新父窗口" ...

  3. Android常用控件之Fragment仿Android4.0设置界面

    Fragment是Android3.0新增的概念,是碎片的意思,它和Activity很相像,用来在一个Activity中描述一些行为或部分用户界面:使用多个Fragment可以在一个单独的Activi ...

  4. Dynamics CRM2016 Web API之更新记录

    本篇继续探索web api,介绍如何通过web api更新记录. 下面是一段简单的更新代码,更新了几个不同类型的字段,entity的赋值和前篇创建时候的一样的. var entity = {}; en ...

  5. 浅谈Android Studio3.0更新之路(遇坑必入)

    >可以参考官网设置-> 1 2 >> Fantasy_Lin_网友评论原文地址是:简书24K纯帅豆写的我也更新一下出处[删除]Fa 转自脚本之家 浅谈Android Studi ...

  6. asp.net core 3.0 更新简记

    asp.net core 3.0 更新简记 asp.net core 3.0 更新简记 Intro 最近把活动室预约项目从 asp.net core 2.2 更新到了 asp.net core 3.0 ...

  7. 4.修改更新源sources.list,提高软件下载安装速度(提供Kali 2.0 更新源)

    1.切换到root用户(如果已经是root用户就直接看第二步) dnt@HackerKali:~$ su 密码: 2.用文本编辑器打开sources.list,手动添加下面的更新源 root@Hack ...

  8. V4.0到来了,css雪碧图生成工具4.0更新啦

    V3.0介绍 http://www.cnblogs.com/wang4517/p/4476758.html V4.0更新内容 V4.0下载地址:http://download.csdn.net/det ...

  9. MicroERP软件更新记录1.1

    MicroERP软件更新记录 最新版本:1.1 1.增加固定资产检修.租赁.转移记录 2.增加产品质检单 3.增加零售单(收银台) 4.支持各种主流关系型数据库 5.完善了数据字典,如加入原材料材质. ...

随机推荐

  1. 用 Python 写出这样的进度条,刷新了我对进度条的认知

    ❞ 1 简介 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给 ...

  2. javascript对象笔记

    JS对象     对象是一个具体的事物     在JS中对象是一组无序属性和方法的集合例如字符串,数组,函数等等     对象是由属性和方法组成的     属性:是事物的特征,在对象中用属性来表示一般 ...

  3. VMWare虚拟机问题总结

    windows7提示:在该系统上全局禁用了虚拟打印功能,不会为该虚拟机启用此功能,虚拟设备:'seria10'将断开连接. 解决:打开虚拟机前选择    编辑-->首选项-->设备--&g ...

  4. 一篇看懂Socket开发

    Socket[套接字]是什么,对于这个问题,初次接触的开发人员一般以为他只是一个通讯工具. Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发 T ...

  5. java this关键字调用构造方法

    一 this调用构造方法 构造方法之间的调用,可以通过this关键字来完成. 格式: this(参数列表); 构造方法的调用举例: class Person { // Person的成员属性 priv ...

  6. C#LeetCode刷题之#16-最接近的三数之和(3Sum Closest)

    目录 问题 示例 分析 问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3620 访问. 给定一个包括 n 个整数的 ...

  7. Homekit_Dohome_智能插座

    简介: 本款智能插座有三个版本可供选择,分别为Homekit版本,涂鸦版本,Dohome版本,各个版本的区别如下: DoHome版特点: 支持HomeKit 支持Amazon 支持Google ...

  8. 关于初次使用Thymeleaf遇到的问题 2020-08-11

    关于初次使用Thymeleaf遇到的问题 环境: IDEA :2020.1 Maven:3.5.6 SpringBoot: 2.3.2 原做法: 按照视频教程,导入依赖,并修改报的版本为3.0.9,适 ...

  9. 前端vue2-org-tree实现精美组织架构图

    最近遇到开发组织架构的需求,与以往开发的组织架构不同,不光要展示人名,还要显示职务(或者子公司名称).对应的头像等,并且要考虑,如果用户未上传头像,需使用默认头像(男.女.中性),(⊙o⊙)…要尊重尊 ...

  10. JDK1.8源码学习-String-hashCode方法为什么选择数字31作为乘子

    1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法.然后大致看了一下 hashCode 的实现,发现并不是很复杂.但是我从源码中发现了一个奇怪的数字,也就是本文的主 ...