私はアンケートとしてビューページを使用しています。ユーザーは最初の8つのフラグメントで回答を入力し、その回答は10番目のフラグメント(OverviewFragment)に表示されます。それはすごくうまくいっています。私が質問している問題は、ユーザーが過去の断片、すなわち:断片4に戻ったとき、そして断片が更新されない10番目の断片に戻ると答えが変わるときです。私はこれがライフサイクル/バックスタックの問題だと確信していますが、ビューページャのバックスタックからフラグメントを取り除く方法が不明です。フラグメントが常に更新されているかどうかを確認するには?ビューページのバックスタックからフラグメントを削除し、以前に表示されたフラグメントをリフレッシュする
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;
}
}