android.app.DialogFragment 中的 getChildFragmentManager()
getChildFragmentManager() in android.app.DialogFragment
我的应用中的 minSDK 是 16。
我使用 Fragments 并阅读了很多关于 android.app.Fragment 和 android.support.v4.app.Fragment 之间的区别的文章。大多数答案的解释是,如果我支持 11 以下的设备,我必须使用支持库。我的 minSDK 是 16,所以我决定为我所有的 Fragments 和 FragmentManagers 使用 android.app 库。
现在我需要 nestedFragments,为此我需要 DialogFragment 中的 getChildFragmentManager()... 本机 Fragment 库上的 getChildFragmentManager 需要 api 17. 类似问题的解决方案是使用来自Android 支持包的 support-v4。
我很困惑。我是否必须将应用程序中所有使用的 Fragments 和 FragmentManager 更改为支持包?仅在低于 11 的 minSDK 上使用支持包的建议如何?谁能解释一下?
非常感谢!
不建议您仅使用 min SDK < 11 的支持库。如果您需要使用它想在 运行 < 11 的设备上使用片段,因为那是引入片段 API 的时间。但是,正如您所发现的,支持库还为 Android.
的更高版本中引入的其他 API 提供向后兼容性。
大多数开发人员会建议您始终将支持库用于应用程序组件,例如 Activity 和 Fragment(以及支持库提供的通知和大多数其他功能),因为您可以所有最新的 API 和功能,加上你得到的错误更少,因为 Android 团队无法修复已发布平台中的错误。
支持库会在后台尽可能利用平台 类,因此您无需担心在两者之间做出选择。
是的,您需要执行其中任何一项
- 使用支持库来使用
getChildFragmentManager()
提供的对话框也来自支持库。
- 使用
android.app
库并将api
级别更改为17。
此外,this link很有用
我的应用中的 minSDK 是 16。
我使用 Fragments 并阅读了很多关于 android.app.Fragment 和 android.support.v4.app.Fragment 之间的区别的文章。大多数答案的解释是,如果我支持 11 以下的设备,我必须使用支持库。我的 minSDK 是 16,所以我决定为我所有的 Fragments 和 FragmentManagers 使用 android.app 库。
现在我需要 nestedFragments,为此我需要 DialogFragment 中的 getChildFragmentManager()... 本机 Fragment 库上的 getChildFragmentManager 需要 api 17. 类似问题的解决方案是使用来自Android 支持包的 support-v4。
我很困惑。我是否必须将应用程序中所有使用的 Fragments 和 FragmentManager 更改为支持包?仅在低于 11 的 minSDK 上使用支持包的建议如何?谁能解释一下?
非常感谢!
不建议您仅使用 min SDK < 11 的支持库。如果您需要使用它想在 运行 < 11 的设备上使用片段,因为那是引入片段 API 的时间。但是,正如您所发现的,支持库还为 Android.
的更高版本中引入的其他 API 提供向后兼容性。大多数开发人员会建议您始终将支持库用于应用程序组件,例如 Activity 和 Fragment(以及支持库提供的通知和大多数其他功能),因为您可以所有最新的 API 和功能,加上你得到的错误更少,因为 Android 团队无法修复已发布平台中的错误。
支持库会在后台尽可能利用平台 类,因此您无需担心在两者之间做出选择。
是的,您需要执行其中任何一项
- 使用支持库来使用
getChildFragmentManager()
提供的对话框也来自支持库。 - 使用
android.app
库并将api
级别更改为17。
此外,this link很有用