現在我有一個ViewPager
和ViewPagerIndicator
在Android上分頁我的屏幕。ViewPagerIndicator與1000頁不平滑
我從FragmentStatePagerAdapter
覆蓋getCount()
並返回1000以擁有1000個頁面。我需要做一些代碼來獲取日曆上的頁面標題庫(dd/MM/yyyy)。任何時候我滾動,我看到所有1000頁面標題重建(我打印日誌在適配器#getPageTitle(int))。
這使我的傳呼機滾動非常緩慢,不再平滑。
我認爲ViewPagerIndicator在我滾動1頁時不應該重建所有的頁面標題。
UPDATE:添加適配器的源代碼
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();
}
}
您添加的代碼用於生成從哪個頁面標題調用? (調試並查看堆棧跟蹤或從哪裏調用該函數?) – Matthieu
您還應該發佈適配器代碼。 – dmon
我已經更新了上面的源代碼。我嘗試將標題設置爲fragment,然後調用getTitle()來檢索它,但沒有任何更改。 –