Search code examples
androidandroid-fragmentsandroid-adapterfragmentmanager

Android add fragments to end of FragmentStatePagerAdapter


I want my adapter to add another page each time it reaches the last page. Here is the code I tried using:

static int ITEMS = 2;

public static class MyAdapter extends FragmentStatePagerAdapter implements OnPageChangeListener{
    public MyAdapter(FragmentManager fragmentManager) 
    {
        super(fragmentManager);
    }

    @Override
    public int getCount() 
    {
        return ITEMS;
    }

    @Override
    public Fragment getItem(int position) 
    {
        if (position >= ITEMS-1)
        {
            ITEMS++;
            notifyDataSetChanged();
        }
        Fragment f = ReviewFragment.init(position); 
        return f;
    }

Solution

  • I suggest this:

    public static class MyAdapter extends FragmentStatePagerAdapter implements OnPageChangeListener{
        public MyAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);
        }
    
        @Override
        public int getCount() {
            return Integer.MAX_VALUE;;
        }
    
        @Override
        public Fragment getItem(int position) {
            Fragment f = ReviewFragment.init(position); 
            return f;
        }
    }