android - 哪个活动/片段/片段管理器?
问题描述
我是 Android 编程新手,我完全不知道应该从哪个 Activity 和 Fragment 版本派生,以及我应该使用哪个 FragmentManager。我想支持 API 级别 15 及以上,我想使用 androidx/Jetpack。那么,我的 MainActivity 应该从哪个 Activity 实现中派生?我的片段应该从哪个片段实现中派生?我应该使用哪个 FragmentManager 实现?
谢谢!
解决方案
该活动应源自AppCompatActivity
.
AppCompatActivity 是 Activity 的子类,它支持所有现代 Android 功能,同时提供与旧版本 Android 的向后兼容性。要使您的应用程序可供尽可能多的设备和用户使用,请始终使用 AppCompatActivity。
一般来说,作为一项规则,您应该查看包,如果有一个androidx
包(以前是 android 支持)具有您正在寻找的类类型,请使用这个,因为它们具有向后兼容性。
了解要使用哪个活动的另一种方法是使用 android studio 菜单,如果您创建一个新活动(文件/新建/活动/基本活动),您可以看到生成的文件使用androidx.appcompat.app.AppCompatActivity
.
片段片段(文件/新建/片段)也是如此,然后您转到可以androidx.fragment.app.Fragment
在导入中看到的源文件。使用这个。
关于 FragmentManager,如果您使用 FragmentManager 搜索 androidx 包,您将获得androidx.fragment.app.FragmentManager
.
引用https://codelabs.developers.google.com/codelabs/kotlin-android-training-images-compat/#5
提示:通常,如果您的应用程序可以使用 Jetpack 库中的兼容性类,它应该使用这些类之一,因为这些类提供了对尽可能多的功能和设备的支持。
引用具有androidx
命名空间的类。
推荐阅读
- r - 将 R `outer` 与 `%in%` 运算符一起使用
- python - 是否可以使用 ModelViewSets 在列表视图上发出 PUT 请求?
- scala - Spark Frameless withColumnRenamed 嵌套字段
- php - 使用 Laravel 获取目录中的文件数
- python - pandas 在数据集第一次进入之前开始重新采样
- javascript - javascript:使用来自选择的查询字符串刷新同一页面
- three.js - 半透明网格的阴影太暗
- jmeter - 如何在 Jmeter 中动态注入令牌列表
- android - 在 android studio 中创建构建变体源集时出错
- spring-security - Spring Session/Redis 和 Oauth2 不能一起工作