Now I have a ViewPager
and ViewPagerIndicator
to paging my screen on Android.
I override getCount()
from FragmentStatePagerAdapter
and return 1000 to have 1000 pages. I need to do some code to get the page title base on calendar (dd/MM/yyyy). Any time I scroll, I see that all of 1000 page titles is rebuilt (I print a log at Adapter#getPageTitle(int) ).
This make my pager scroll very slow, not smooth any more.
I think the ViewPagerIndicator shouldn't rebuild all page titles when I scroll 1 page.
UPDATE: add the adapter's source code
public class ResultAdapter extends FragmentStatePagerAdapter {
public ResultAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return 1000;
}
@Override
public Fragment getItem(int position) {
Log.d("xskt", "Adapter.GetItem.position=" + position);
Calendar calendar = Utilities.selectedProvince.getLastDay(Utilities.selectedCalendar, Utilities.pagerSize - position - 1);
ResultView resultView = new ResultView(Utilities.selectedProvince, calendar);
resultView.setTitle(calendar.get(Calendar.DAY_OF_MONTH) + "/" + (calendar.get(Calendar.MONTH) + 1));
return resultView;
}
@Override
public CharSequence getPageTitle(int position) {
// Calendar calendar;
//DO SOME CALCULATE WITH CALENDAR
// String title = calendar.get(Calendar.DAY_OF_MONTH) + "/" + (calendar.get(Calendar.MONTH) + 1);
// return title;
Log.d("xskt","get page title");
return ((ResultView) getItem(position)).getTitle();
}
}