[英]Switching between fragments and fragments with 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;
}
FragmentPagerAdapter将保留所有片段,它只会破坏用户不可见的片段视图,例如,如果将页面从1滚动到2,则页面0的视图将被销毁,但页面0的实例仍将是由适配器保留。
您可以通过调用方法ViewPager.setOffscreenPageLimit(int limit)
来更改此默认行为,如果将limit
设置为2,则还将保留第0页的视图。
在空闲状态下设置应保留到视图层次结构中当前页面任一侧的页数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.