我正在使用一个包含问题的X片段的viewpager。每个片段都从相同的片段类扩展,以便我可以在循环中的每个片段上调用一个方法。这就是我的意思:
private int correctAnswers(){
int NumberCorrect = 0;
var activity = Activity as QuizActivity;
var adapter = activity.getViewPagerAdapter ();
List<questionFrag> fragList = new List<questionFrag> ();
for (int i = 0; i < activity.getViewPagerAdapter ().Count - 1; i++) {
var questionfrag = adapter.GetItem (i) as questionFrag;
if (questionfrag.isCorrect()) {
++NumberCorrect;
}
}
return NumberCorrect;
}
“questionfrag.isCorrect()”行允许我遍历片段并获取是否从每个片段获得了正确的答案。在viewpager的最后一个片段上调用correctAnswers函数。但是,当我调用该方法时,片段中的所有变量都为空。我认为片段状态是通过设置“viewPager.OffscreenPageLimit”来包含所有片段而固有地保存的,但它们不是。
有谁知道解决方案?
答案 0 :(得分:0)
我通过在SharedPrefereces中保存变量解决了这个问题。将来我可以使用SQLite保存它们。无论如何,分配内存以保存100个片段状态可能不是最佳选择。