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. ThinkPHP6 核心分析之应用程序初始化

    runWithRequest () 方法 在 Http 类的 run() 方法中,得到 think\Request 类的实例后,程序接着执行 $response = $this->runWith ...

  2. day7.关于字符串的相关操作

    一.字符串的相关操作 """ (1)字符串的拼接 (2)字符串的重复 (3)字符串跨行拼接 (4)字符串的索引 (5)字符串的切片: 语法 => 字符串[::] 完 ...

  3. 11、Java 日期时间 日期工具类

    一.简介 在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题.故此,Java8引入了一套全新的日期时间处理 ...

  4. @Repository注解和@Mapper注解区别

    @Reponsitory注解 @Reponsitory使用后,在启动类上需要添加@MapperScan("xxx.xxx.xxx.mapper")注解 @Mapper注解 @Map ...

  5. 牛客 51011 可达性统计(拓扑排序,bitset)

    牛客 51011 可达性统计(拓扑排序,bitset) 题意: 给一个 n个点,m条边的有向无环图,分别统计每个点出发能够到达的点的数量(包括自身) \(n,m\le30000\). 样例: 10 1 ...

  6. 最火热的极速开发框架Spring Boot

    Spring Boot是Spring家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程,也可以说Spring Boot能简化我们之前采用Spring mvc + Spring + ...

  7. C/C++中char[]和string的连接/合并

    一: C风格字符串连接 #include <iostream> using namespace std; int main() { const char *str = "hell ...

  8. C#算法设计排序篇之11-二叉树排序(附带动画演示程序)

    二叉树排序(Binary Tree Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/695 访问. 二叉树排序 ...

  9. C#开发笔记之07-如何实现交换2个变量的值而不引入中间变量?

    C#开发笔记概述 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/963 访问. 这里给出常见的7种方法,仅供大家参考,部 ...

  10. three.js 制作机房(下)

    这一篇书接上文,说一说剩下的一些模块. 1. 机箱存储占用比率 机箱存储占用比其实很简单,就是在机箱上新加一个组即可,然后根据比率值来设置颜色,这个颜色我们去HSL(0.4,0.8,0.5) ~ HS ...