目前,我有一个viewpager,当页面滚动时,我有加载API来获取新信息。 但是在第一个加载viewpager中,进度加载显示两次,因为它加载了第一页和下一页。 我只想在viewpager中加载第一页。 我该怎么办?
答案 0 :(得分:2)
最好的方法是创建一个界面。并将此接口实现到所有片段。 例如
public interface FragmentInterface {
void fragmentBecameVisible();
}
就是这样的,例如
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){
@Override
public void onPageSelected(int position){
FragmentInterface fragment = (FragmentInterface) mAdapter.instantiateItem(viewPager, position);
if (fragment != null) {
fragment.fragmentBecameVisible();
}
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2){
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
,如
public class TestFragmet extends Fragment implements FragmentInterface {
@Override
public void fragmentBecameVisible() {
// your task to execute
}
}
答案 1 :(得分:0)
将OffScreenPageLimit设置为零。它不会加载其他片段。
viewPager.setOffscreenPageLimit(0);