viewPager在android中有选项卡

时间:2015-02-15 17:39:14

标签: android tabs fragmentpageradapter

我有一个fragmentAdapter:

public class TitleAdapter extends FragmentPagerAdapter {

    private final String titles[] = new String[] { "Home", "Eventi"};
    private final Fragment frags[] = new Fragment[titles.length];
    Context context;
    public TitleAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        Log.v("TitleAdapter - getPageTitle=", titles[position]);
        return titles[position];
    }

    @Override
    public Fragment getItem(int position) {
        Log.v("TitleAdapter - getItem=", String.valueOf(position));
        //return frags[position];
        switch (position) {
        case 0:
            return Home.newInstance(0, "aa");
        case 1:
            return Eventi.newInstance(1, "bbbb");
        }
        return null;
    }

    @Override
    public int getCount() {
        return frags.length;
    }
}

在每个片段(Home和Eventi)中我都有一个列表片段。我在logcat中看到的是,活动开始时会加载所有片段。我想做的是每次加载一个片段。该怎么做??

1 个答案:

答案 0 :(得分:1)

很抱歉让您失望,但您无法一次只使用Android库ViewPager加载一个片段。通常,为了设置ViewPager要渲染的片段数,您可以使用此方法public void setOffscreenPageLimit (int limit)

问题是,屏幕外页面限制的默认值和最小值是1,这意味着ViewPager将在当前所选片段的任一侧呈现并保留内存中的片段。您可能认为可以将限制设置为0,但仍然默认为1(请参阅ViewPager.setOffscreenPageLimit(0) doesn't work as expected)。

我假设你被迫提前渲染至少一个片段以确保顺利滚动。我希望这些信息有所帮助!