不使用支持库的Android 4.0、4.1(<4.2)中嵌套片段的最佳实践
我正在编写适用于4.0和4.1平板电脑的应用程序,我不希望使用其支持库(如果不需要),而仅使用4.x api。 因此,我的目标平台定义为:> = 4.0和<= 4.1 该应用程序具有多窗格布局(两个片段,一个小片段在左侧,一个内容片段在右侧)和一个带有选项卡的操作栏。 与此类似: 单击操作栏上的选项卡将更改“外部”片段,然后,内部片段是具有两个嵌套片段的片段(1.左列表小片段,2.内容广泛的片段)。 我现在想知道替换片段(尤其是嵌套片段)的最佳实践是什么。ViewPager是支持库的一部分,此类没有本地4.x替代品。在我看来,似乎已被“弃用”。- http://developer.android.com/reference/android/support/v4/view/ViewPager.html 然后,我阅读了有关Android 4.2的发行说明ChildFragmentManager,这很适合,但我的目标是4.0和4.1,因此也无法使用。 ChildFragmentManager 仅在4.2中可用 http://developer.android.com/about/versions/android-4.2.html#NestedFragments http://developer.android.com/reference/android/app/Fragment.html#getChildFragmentManager() 不幸的是,即使没有整个Android开发人员指南,也几乎没有很好的示例显示没有支持库的片段用法的最佳实践。特别是关于嵌套片段的内容。 所以我想知道:如果不使用支持库及其附带的所有内容,是否无法简单地编写带有嵌套片段的4.1应用程序?(需要使用FragmentActivity而不是Fragment等吗?) 或者最佳实践是什么? 我目前在开发中遇到的问题正是此语句: http://developer.android.com/about/versions/android-4.2.html#NestedFragments Android支持库现在还支持嵌套片段,因此您可以在Android 1.6及更高版本上实现嵌套片段设计。 注意:如果版式包含,则不能将其膨胀为片段<fragment>。仅当动态将片段添加到片段时,才支持嵌套片段。 因为我用XML定义了嵌套的片段,所以显然会引起如下错误: Caused by: java.lang.IllegalArgumentException: Binary XML file line #15: Duplicate id 0x7f090009, tag frgCustomerList, or parent id 0x7f090008 with another fragment for de.xyz.is.android.fragment.CustomerListFragment_ 此刻,我为自己总结:即使在4.1上,甚至当我不想针对2.x平台时,如无屏幕截图所示的嵌套片段,都没有支持库是不可能的。 (这实际上可能更多的是维基条目而不是问题,但也许以前有人管理过它)。 …