使用viewpager在片段和片段之间切换

时间:2016-08-18 01:30:47

标签: android android-fragments android-viewpager

我有三个片段,分别是A,B和C,一个是viewpager,它包含多个片段(比如B片段)。

切换到片段b时会在移动到其他片段并返回片段b之后呈现片段viewpager内容,此处它将重新加载内容。

我只是想在渲染片段后停止销毁?

先谢谢。

适配器的示例代码:

public class QuestionsSortPagerAdapter extends FragmentPagerAdapter {
int mNumOfTabs;

public QuestionsSortPagerAdapter(FragmentManager fm, int NumOfTabs) {
    super(fm);
    this.mNumOfTabs = NumOfTabs;
}

@Override
public Fragment getItem(int position) {

    switch (position) {
        case 0:
            QuestionsSortByVotes byVotes = new QuestionsSortByVotes();
            return byVotes;
        case 1:
            QuestionsSortByActivity byActivity = new QuestionsSortByActivity();
            return byActivity;
        case 2:
            QuestionsSortByHot byHot = new QuestionsSortByHot();
            return byHot;
        case 3:
            QuestionsSortByDate byDate = new QuestionsSortByDate();
            return byDate;
        case 4:
            QuestionsSortByMonth byMonth = new QuestionsSortByMonth();
            return byMonth;
        default:
            return null;
    }

1 个答案:

答案 0 :(得分:0)

FragmentPagerAdapter将保留所有片段,它只会破坏用户不可见的片段视图,例如,如果您将页面从1滚动到2,那么第0页的视图将被销毁,但是第0页的实例仍然会被适配器保留。

您可以通过调用方法ViewPager.setOffscreenPageLimit(int limit)来更改此默认行为,如果将limit设置为2,则还会保留第0页的视图。

  

设置在空闲状态下视图层次结构中应保留到当前页面任一侧的页数。