我有一个带有两个碎片的查看器。我想用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());发布于 2017-09-28 20:01:49
ViewPager支持View或Fragment的操作。如果我理解正确,您希望每个页面每个3个子组件都是静态的,在这种情况下,您有两个选择:
使用嵌套片段,为将包含子片段的每个页面创建一个Fragment。并将这些父片段用作提供给分页视图的片段
请注意,不推荐使用嵌套片段,因为它们已被证明存在错误,可能会影响性能。因此,我建议您采用View方法,创建一个定义片段的xml,并在膨胀它之后将其直接提供给ViewPager。
https://stackoverflow.com/questions/46468437
复制相似问题