Android viewpager动态添加片段

时间:2014-08-13 11:26:40

标签: android android-fragments android-viewpager swipe

我正在使用viewpager.i有4个片段并在viepager中添加片段。但我想用dinamically添加片段

这是我的适配器

public class MyPagerAdapter extends FragmentPagerAdapter {

private List<Fragment> fragments;

public MyPagerAdapter(FragmentManager fm) {
    super(fm);
    this.fragments = new ArrayList<Fragment>();
    for (int i = 0; i < 10; i++) {
        fragments.add(new FragmentBlue());


    }

}

@Override
public Fragment getItem(int position) {
    return fragments.get(position);
}

@Override
public int getCount() {
    return fragments.size();
}
}

这是活动

public class MainActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    MyPagerAdapter pageAdapter = new MyPagerAdapter(getSupportFragmentManager());
    ViewPager pager = (ViewPager)findViewById(R.id.myViewPager);
    pager.setAdapter(pageAdapter);
}

}

我如何动态添加片段而不是静态GetCountSize()。有关更多信息,我想在viewpager中添加10个片段,每个片段背景都不同。

2 个答案:

答案 0 :(得分:1)

请考虑使用ViewPager2。根据设计,它allows to modify会碎片收集。您可以找到代码示例here

答案 1 :(得分:0)

  

通过使用FragmentPagerAdapter,我们无法实现无限的寻呼机视图   为此我写了自己的寻呼机视图。这是每一个   当您滑动页面时,它将要求下一页/上一页   通过传递当前页面作为参考。通过编写自己的逻辑   getNextPage(PageView currentPage)/ getPreviousPage(PageView   currentPage)方法,你可以返回相应的页面,直到它到达end.if   到达end只需在这些方法中返回null。

Here你可以完善该示例项目。

如果您在使用过程中遇到任何问题,请告诉我。