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.
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.