我正在尝试创建日历应用程序。每个月只有一个Fragment
。我正在使用ViewPager
和FragmentPageAdapter
。我向左侧滑动时添加一个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();
}
}