首页 > 解决方案 > 哪个活动/片段/片段管理器?

问题描述

我是 Android 编程新手,我完全不知道应该从哪个 Activity 和 Fragment 版本派生,以及我应该使用哪个 FragmentManager。我想支持 API 级别 15 及以上,我想使用 androidx/Jetpack。那么,我的 MainActivity 应该从哪个 Activity 实现中派生?我的片段应该从哪个片段实现中派生?我应该使用哪个 FragmentManager 实现?

谢谢!

标签: androidandroidxandroid-jetpack

解决方案


该活动应源自AppCompatActivity.

来自https://codelabs.developers.google.com/codelabs/kotlin-android-training-app-anatomy/index.html?index=..%2F..android-kotlin-fundamentals#2

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命名空间的类。


推荐阅读