最近在做一个项目,有一个功能是答题翻页。于是需要实现在这一页的时候就缓存下一页。
刚刚开始我是用
setOnPageChangeListener方法监听,滑到这一页的时候才刷新这一页:
public void onPageSelected(int position)
{
ReadFragment fragment= (ReadFragment) fragmentArrayList.get(position);
fragment.refresh();
}
不过这样就只有滑动到这一页的时候才能用fragmentArrayList.get(position)获取当前页,用这种方法获取下一页的fragment就会报空指针。也就是说无法先缓存刷新下一页的内容。
到底怎么样才能获取得到下一页的fragment呢?
百度了一下好像说要在
FragmentPagerAdapter里面的instantiateItem()处理。于是我看了一下它的源代码:
@Override
public Object instantiateItem(ViewGroup container, int position) {
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
final long itemId = getItemId(position);
// Do we already have this fragment?
String name = makeFragmentName(co