Android ViewPager中的碎片事务

Android ViewPager中的碎片事务,android,Android,我有一个带有两个片段的Viewpager。 我想用3个不同的片段替换每个片段。 我该怎么做? 另外,在当前片段中单击按钮后,我是否可以使用新的片段列表更改整个ArrayList 这就是我所做的 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the

我有一个带有两个片段的Viewpager。 我想用3个不同的片段替换每个片段。 我该怎么做? 另外,在当前片段中单击按钮后,我是否可以使用新的片段列表更改整个ArrayList

这就是我所做的

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.fragment_healthy_mode, container, false);

    swipeLeft = v.findViewById(R.id.leftSlide);
    swipeRight = v.findViewById(R.id.rightSlide);

    pageArray = new ArrayList<Fragment>();

    pageArray.add(new Female());
    pageArray.add(new Male());

 healthyModeAdapter = new HealthyModeAdapter(getFragmentManager(), pageArray);

    viewPager = (ViewPager) v.findViewById(R.id.healthyModeViewPager);
    viewPager.setAdapter(healthyModeAdapter);


// I want to replace female n male fragment with 

    pageArray.add(new EctoBodyFemale());
    pageArray.add(new EndoBodyFemale());
    pageArray.add(new MesoBodyFemale());

    pageArray.add(new EctoBodyMale());
    pageArray.add(new EndoBodyMale());
    pageArray.add(new MesoBodyMale());
@覆盖
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图v=充气机。充气(R.layout.fragment\u Health\u模式,容器,错误);
swipeLeft=v.findViewById(R.id.leftSlide);
swipeRight=v.findViewById(R.id.rightSlide);
pageArray=新建ArrayList();
pageArray.add(新女性());
pageArray.add(新的Male());
HealthyModAdapter=新的HealthyModAdapter(getFragmentManager(),pageArray);
viewPager=(viewPager)v.findViewById(R.id.healthymodeviewPage);
viewPager.setAdapter(HealthyModAdapter);
//我想用
pageArray.add(新的extobodyFemale());
添加(新的EndoBodyFemale());
添加(新的MesoBodyFemale());
pageArray.add(new-extobodyMale());
添加(新的endobodyme());
pageArray.add(新的mesobodyme());

ViewPager
支持使用
视图
s或
片段
s进行操作,如果我理解正确,您希望每页都有3个子组件是静态的,在这种情况下,您有2个选项:

使用嵌套片段,为将包含子片段的每个页面创建一个
片段
。并使用这些父片段作为提供给寻呼机视图的片段


请注意,不建议使用嵌套片段,它们已被证明存在缺陷,可能会影响性能。因此,我建议您采用
查看
方法,创建一个定义片段的
xml
,并在膨胀后将其直接提供给ViewPager。

先生。还有一个问题,我如何更改ole ArrayList在当前片段中单击按钮后显示新的片段列表?
ViewPager
的工作原理与
RecyclerView
非常相似,您可以更新适配器使用的列表,并在适配器上调用
notifyDataSetChanged