我在我的应用程序中使用FragmentPagerAdapter
。在适配器中,我有以下代码:
@Override
public Fragment getItem(final int position) {
switch(position){
case 0:
return OffersBasicInfoFragment.newInstance();
case 1:
return OffersSelectedCategoriesFragment.newInstance();
case 2:
return OffersManageArtworkFragment.newInstance();
case 3:
return OffersLegalDisclaimerFragment.newInstance();
case 4:
return OffersSelectStoresFragment.newInstance();
case 5:
return OffersPreviewSaveOfferFragment.newInstance();
default:
return null;
}
}
现在我的onViewCreated
函数中有各种网络调用。现在所有这七个页面都被同时调用。如何构建我的代码,以便只有在当前页面处于活动状态时才进行调用。从Tab1滑动到Tab2时的含义应该调用Tab2片段中的调用。
我该怎么做?
答案 0 :(得分:0)
你可能遭受了糟糕的碎片设计。
奇怪的是,ViewPager应该只预先缓存前2-3个片段(包括当前可见的片段)
使用setOffscreenPageLimit (int limit)
可能会让您有可能只创建当前片段,或者同时创建不超过两个片段。
步骤我已经检查过你是不是
Fragment.setUserVisibleHint
启动网络呼叫
maxConnectionsPerHost
和maxTotalConnections
以允许一次请求研究链接: