片段Viewpager进度对话框

时间:2014-04-08 22:32:11

标签: android android-asynctask android-viewpager android-progressbar

@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) { 
            new LoadGlobalNews().execute();
        }

    } 

我在片段类中使用上面的方法来执行异步任务,我的问题是每次从片段中轻扫一下,并返回异步任务时重新执行任何其他替代

1 个答案:

答案 0 :(得分:1)

使用ViewPager.setOffscreenPageLimit

From the docs

  

设置应保留在页面两侧的页数   处于空闲状态的视图层次结构中的当前页面。页面超出此范围   在需要时,将从适配器重新创建限制。

示例

mYourViewPager.setOffscreenPageLimit(mYourPagerAdapter.getCount());

更新

private boolean mLoadedNews;

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser && !mLoadedNews) {
        new LoadGlobalNews().execute();
        mLoadedNews = true;
    }
}