我正在使用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;
}
}