【问题标题】:Android viewpager add fragments dynamicallyAndroid viewpager 动态添加片段
【发布时间】:2014-08-13 11:26:39
【问题描述】:

我正在使用 viewpager。我有 4 个片段并在 vipager 中添加片段。但我想动态添加片段

这是我的适配器

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 个片段,每个片段的背景都不同。

【问题讨论】:

  • 将新片段添加到您的 List 片段变量并使用 notifydatasetchanged ,如本文stackoverflow.com/questions/7263291/…
  • 我更新了我的代码,请参阅 iy @Illegal Argument
  • 您找到解决方案了吗?请分享,因为我正在努力寻找解决方案。

标签: android android-fragments android-viewpager swipe


【解决方案1】:

考虑使用ViewPager2。通过设计它allows to modify 片段集合。您可以找到代码示例here

【讨论】:

    【解决方案2】:

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

    Here 你可以完善那个示例项目。

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

    【讨论】:

    • 谢谢,但是我如何编写代码以在第一个片段中添加按钮,在第二个按钮中添加编辑文本等等...... PS我更新了我的代码,请看它
    猜你喜欢
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多