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