支持库v13中的getChildFragmentManager在哪里?

Gre*_*nis 12 android android-fragments android-nested-fragment

Android支持库v13应该为Android 3.1中的新API提供支持.但是,据我所知,没有儿童片段的支持.具体来说,getChildFragmentManager()在哪里?v13支持库依赖于本机片段,在API级别17之前没有添加此方法.我有一个最低SDK级别14的应用程序,所以我应该能够使用v13支持库,但似乎我不能.

我不想一直回到v4支持库并承担所有重量.v13库是完美的.

mid*_*tar 8

如果要在本机片段中使用嵌套片段.使用getFragmentManager().

如果要在支持库Fragment中使用嵌套片段,请使用getChildFragmentManager().

刚发现这是偶然的.有用.:)


Com*_*are 3

Android 支持库 v13 应该为 Android 3.1 中的较新 API 提供支持

并不真地。

但是,据我所知,不支持子片段

正确的。您无法从 Java 的外部库更改现有类。android.app.Fragment已经存在,因此该库无法将方法添加到Fragment.

我有一个最低 SDK 级别为 14 的应用程序,因此我应该能够使用 v13 支持库,但似乎不能。

您可以简单地不使用嵌套片段。或者,使用片段向后移植。

我不想一路回到 v4 支持库并承受它的全部重量

android-support-v13.jar大于android-support-v4.jar.

如果 v13 包含 v4 的全部,那么它的目的是什么?

FragmentPagerAdapter它添加了一些类,例如和的本机片段实现FragmentStatePagerAdapter,对于没有本机片段的应用程序来说不需要这些类,因为它们android:minSdkVersion低于 11。

v13库使用原生fragment和activity,不支持fragment

android-support-v13.jar包含SDK 中的android.support.v4所有类。android.support.v13

  • 这确实是一团糟。@CommonsWare,你的答案并没有表现出你的智慧,而是表现出你的傲慢。如果您没有使用嵌套片段,那么您正在设计多年前有限的 Android UX 体验(这已经落后 iOS CocoaTouch 架构多年)。您应该使用嵌套片段并采用它们的优点,并尝试赶上现代 UI,而不是受 Android 古老(错误)架构的束缚。Google 再次失败,因为没有使子片段与 v13 支持库正确兼容。 (10认同)
  • 感谢您的澄清,但是这种情况似乎一团糟,比我想象的更糟糕。如果我使用支持库,那么为什么我需要一个采用本机片段的 FragmentPagerAdapter?我应该只使用支持片段来完成所有事情。所以我还是没明白v13支持库的用途。这真是一团糟。 (4认同)
  • @Marchy:“如果你没有使用嵌套片段,那么你正在设计几年前有限的 Android UX 体验”——不,你只是没有使用嵌套片段。没有什么是碎片能做的事情,没有碎片是解决不了的。除非将片段完全实现为支持 SDK 的源代码,否则您无法将片段向后移植为库。无论该库能做什么,我们都可以使用我们自己的源代码来完成。推而广之,您可以对嵌套片段做任何不能通过其他方式解决的事情。 (2认同)