【问题标题】:How to prevent a FragmentPagerAdapter from loading the next Fragment in advance?如何防止一个 FragmentPagerAdapter 提前加载下一个 Fragment?
【发布时间】:2013-08-30 06:23:06
【问题描述】:

我正在使用FragmentPagerAdapter 滑动三个片段。它没有给我任何错误,但它总是提前加载下一个片段。我怎样才能阻止这种行为?

这是我的FragmentPagerAdapter

public class ViewPagerAdapter extends FragmentPagerAdapter {
    private Context _context;

    public ViewPagerAdapter(Context context, FragmentManager fm) {
        super(fm);
        _context = context;
    }

    @Override
    public Fragment getItem(int position) {
        Fragment f = new Fragment();
        switch (position) {
        case 0:
            f = ReservationTab.newInstance(_context);
            break;
        case 1: 
            f = GalleryTab.newInstance(_context);
            break;
        case 2:
            f = VideoTab.newInstance(_context);
            break;
        }
        return f;
    }

    @Override
    public int getCount() {
        return 3;
    }
}

【问题讨论】:

  • 我认为这是默认行为,提前加载一个前一个和下一个片段,这样当它进入视图时,就不会花费时间来加载。
  • 基本上我在第二个片段中播放视频,它有进度对话框......所以它在第一个片段视图中显示对话框......
  • 那么您必须使用片段的生命周期方法并管理您的进度对话框,使对话框仅在第二个片段进入视图时显示。
  • 我正在使用 asyncTask 播放视频我该如何使用生命周期方法请提供更多建议。

标签: android android-fragments android-fragmentactivity fragmentpageradapter android-pageradapter


【解决方案1】:

尝试使用这个

mViewPager = (ViewPager)findViewById(R.id.pager);
mViewPager.setOffscreenPageLimit(2 /*count of your fragments in viwePager*/);

【讨论】:

    【解决方案2】:

    尝试在 ViewPager 上使用 setOffscreenPageLimit(0)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多