Add data to ViewPager

This may be final ViewPager programming basics.

I explained two topics about View Pager

This is last one.
Add pages, that is this blog’s point.

addadapter

If click page, this data(page) is added. This is example

The code is almost all same as last one. Please refer it.

Activity

public class ViewPagerActivity extends Activity implements ClickPagerImgListerner
{
    private ViewPager viewPager;
     
    List<PersonData> list;
     
    int currentIndex;
     
    CardPagerAdapter pagerAdapter;
     
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewport);
         
        this.list = PersonDataGenerator.createPersonData();
         
        viewPager = (ViewPager) findViewById(R.id.viewpager);
        pagerAdapter = new CardPagerAdapter(this, list);
        pagerAdapter.setListener(this);
        viewPager.setOnPageChangeListener(new PageChangeListener());
        viewPager.setAdapter(pagerAdapter);
         
        currentIndex = 0;
    }
     
    class PageChangeListener extends SimpleOnPageChangeListener
    {
        @Override
        public void onPageSelected(int position) 
        {
            // Page change Operation!
            super.onPageSelected(position);
            currentIndex = position;
        }
    }
 
    @Override
    public void change(int position) 
    {
        addExtraData();
    }
     
    private void addExtraData()
    {
        list.add(
        new PersonData("Sara-chan", R.drawable.tw_sar_eco));
        pagerAdapter.notifyDataSetChanged();
    }
}

Add PersonData in Adapter. Adapter was changed.
If you change Adapter(data), you need to call notifyDataSetChange, that is point.

Change means number change, not included data contents change.