我正在使用自定义的viewpager,其中包含使用FragmentPagerAdapter加载的Listfragment。每个ListFragment代表一个双面板布局,其中每个列表项都会加载其他片段到framelayout(右侧面板)。
这是最佳实践吗?
我正在使用自定义的viewpager,其中包含使用FragmentPagerAdapter加载的Listfragment。每个ListFragment代表一个双面板布局,其中每个列表项都会加载其他片段到framelayout(右侧面板)。
这是最佳实践吗?
Android的支持库现在也支持嵌套片段,因此您可以在Android 1.6及更高版本上实现嵌套片段设计。
要嵌套一个片段,只需在要添加片段的片段上调用getChildFragmentManager()。这将返回一个FragmentManager,您可以像从顶级活动中一样使用它来创建片段事务。例如,以下是一些从现有Fragment类中添加片段的代码:
Fragment videoFragment = new VideoPlayerFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.video_fragment, videoFragment).commit();
简单的答案是...
你不能在一个片段内添加另一个片段。
更新
相反,你可以使用PagerAdapter
并设置视图,其中包含两个片段。
简述
PagerAdapter
是FragmentPagerAdapter
的父类,因此你需要创建一个扩展pageradapter的适配器,请参考this link,你会有一个想法,
instantiateItem
,这个方法负责生成视图,所以你需要填充并返回其中包含两个片段的视图。
我现在没有工作示例,但你可以通过PagerAdapter
实现这一点。