现在我有一个ViewPager
并且ViewPagerIndicator
可以在 Android 上分页我的屏幕。
我覆盖getCount()
并FragmentStatePagerAdapter
返回 1000 以拥有 1000 页。我需要做一些代码来获取基于日历的页面标题(dd/MM/yyyy)。每次滚动时,我都会看到所有 1000 个页面标题都已重建(我在 Adapter#getPageTitle(int) 打印日志)。
这使我的寻呼机滚动非常缓慢,不再流畅。
我认为 ViewPagerIndicator 不应该在我滚动 1 页时重建所有页面标题。
更新:添加适配器的源代码
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();
}
}