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