-2

I have PagerAdapter class that handle ScreenSlider. What i want is to add instance(objects of Fragment class) instead of adding multiple Fragments

Class where PagerAdapterClass is called:

    List<Fragment> fragments = new Vector<Fragment>();        

    fragments.add(Fragment.instantiate(this, Fragment1.class.getName()));// Here i want to add instance of class
    fragments.add(Fragment.instantiate(this, Fragment2.class.getName()));    

    this.mPagerAdapter  = new PagerAdapter2(super.getSupportFragmentManager(), fragments); //Constructor

    ViewPager pager = (ViewPager)findViewById(R.id.view_pager);

    pager.setAdapter(this.mPagerAdapter);

    pager.setCurrentItem(Proba.broj);

And here is PagerAdapter class:

public class PagerAdapter2 extends FragmentPagerAdapter

{

private List<Fragment> fragments;
/**
 * @param fm
 * @param fragments
 */
public PagerAdapter2(FragmentManager fm, List<Fragment> fragments) {
    super(fm);
    this.fragments = fragments;
}
/* (non-Javadoc)
 * @see android.support.v4.app.FragmentPagerAdapter#getItem(int)
 */
@Override
public Fragment getItem(int position)
{
    return this.fragments.get(position);
}

/* (non-Javadoc)
 * @see android.support.v4.view.PagerAdapter#getCount()
 */
@Override
public int getCount() {
    return this.fragments.size();
}

}

smiljka
  • 103
  • 1
  • 13

1 Answers1

0

Add an instance then.

fragments.add(new Fragment1()) ;

Or if you need arguments

Fragment f = new Fragment1();
Bundle args1 = new Bundle() ;
// put into args1
f.setArguments(args1);
fragments.add(f) ;

Related: When Fragment.instantiate is preferable over MyFragment.newInstance or new MyFragment()

instead of adding multiple Fragments

You have to add multiple Fragments if you want multiple pages

Community
  • 1
  • 1
OneCricketeer
  • 179,855
  • 19
  • 132
  • 245