Hello I am using the View Pager and PagerAdapter. In PagerAdapter 'instantiateItem()' is calling two times initially.
Please help me to solve this such the instantiateItem() should call only one time intial also.
Thanks in advance.
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0: {
resId = R.layout.first_template;
break;
}
case 1: {
resId = R.layout.second_template;
break;
}
case 2: {
resId = R.layout.third_template;
break;
}
case 3:
resId = R.layout.first_template;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager)collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View view, int arg1, Object arg2) {
((ViewPager) view).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View view, Object obj) {
return view == ((View) obj);
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public int getCount() {
return 4;
}
public class PageViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page_view);
PageAdapter adapter = new PageAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.viewpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
}
}