我正在使用viewpager作为调查问卷。用户在前8个片段中输入他们的答案,然后他们的答案显示在第10个片段(OverviewFragment)中。这一切都很好。我有一个问题的问题是当用户返回到过去的片段,即:片段4并更改答案,如果他们返回到它不更新的第10个片段。我确定这是一个生命周期/后台堆栈问题,但不确定如何在viewpager中将碎片从堆栈中踢出。或者也许只是一种确保片段不断刷新的方法?在viewpager中删除碎片并刷新以前查看过的碎片
public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
private int fragmentCount = 11;
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return DemoFragment.newInstance();
case 1:
return PreliminaryQuesFragment.newInstance();
case 2:
return QuestionOneFragment.newInstance();
case 3:
return QuestionTwoFragment.newInstance();
case 4:
return QuestionThreeFragment.newInstance();
case 5:
return QuestionFourFragment.newInstance();
case 6:
return QuestionFiveFragment.newInstance();
case 7:
return QuestionSixFragment.newInstance();
case 8:
return StatementFragment.newInstance();
case 9:
return OverviewFragment.newInstance(user.getTitle(), prelimAnswer, qOne, qTwo,
qThree, qFour, qFive);
case 10:
return GoodbyeFragment.newInstance(position);
default:
return null;
}
}
@Override
public int getCount() {
return fragmentCount;
}
}