在viewpager的左侧和右侧添加新片段

时间:2016-06-27 16:12:54

标签: android android-viewpager

我正在尝试创建日历应用程序。每个月只有一个Fragment。我正在使用ViewPagerFragmentPageAdapter。我向左侧滑动时添加一个Fragment,位置为2,向右滑动时我想添加一个Fragment,位置为fragments.size() - 2

向右添加Fragment没有问题,但由于Can't change tag of fragment exception而添加到0位置时会出现问题。我一直在寻找问题的解决方案但没有成功。我想知道是否有替代ViewPager或其他解决方案的问题。

这是我的适配器:

public class ViewPagerAdapter extends FragmentPagerAdapter {

    private ArrayList<Fragment> fragments = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager fm) {
        super(fm);
    }

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

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

    public void addFragment(Fragment fragment) {
        fragments.add(fragment);
        notifyDataSetChanged();
    }

    public void addFragment(Fragment fragment, int position) {
        fragments.add(position, fragment);
        notifyDataSetChanged();
    }

    public void removeFragment(int position) {
        fragments.remove(position);
        notifyDataSetChanged();
    }

    public void removeFragment(Fragment fragment) {
        fragments.remove(fragment);
        notifyDataSetChanged();
    }
}

0 个答案:

没有答案