【发布时间】:2016-06-30 23:40:00
【问题描述】:
我正在使用浏览器作为调查问卷。用户在前 8 个片段中输入他们的答案,然后他们的答案显示在第 10 个片段(OverviewFragment)中。这一切都很好。我有一个问题是当用户返回到过去的片段时,即:片段 4 并更改答案,如果他们返回到第 10 个片段,它不会更新。我确定这是一个生命周期/backstack 问题,但不确定如何在 viewpager 中将片段从 backstack 中踢出。或者也许只是一种确保片段不断刷新的方法?
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;
}
}
【问题讨论】:
标签: android android-fragments android-lifecycle