それぞれがリストビューを含む約8ページのビューページャーがあります。私は使用していfragmentStatePagerAdapter
ます:
public class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
public NewsFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Category selectedCategory = fragmentCategories.get(position);
HeadlinesFragment fragment = HeadlinesFragment.create(
selectedCategory.getCategoryID(),
selectedCategory.getLastEventID());
return fragment;
}
@Override
public int getCount() {
return fragmentCategories.size();
}
}
ViewPager myPager = (ViewPager) findViewById(R.id.pager);
MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
myPager.setAdapter(adapter);
ビュー ページャーのオフスクリーン ページ制限は、デフォルトで 1 に設定されています。各ページのリスト ビューには、SQLite からのデータが取り込まれています。ページを右にスワイプすると、ビュー ページャーが正常に機能します。
しかし、左にスワイプして直前のページ (ページ X と呼びましょう) に移動すると、その前のページのリスト ビューがブロック/遅延し、スクロールが停止します。ただし、いくつかのページを左にスワイプしてから、ページ X に到達するまで右にスワイプすると、リスト ビューがリロードされるため、スクロールがうまくいきません。