Ich habe einen ViewPager mit 10 Seiten. Wenn ich die letzte (10.) Seite starte, wird onCreateView()
Methode meines Fragments aufgerufen. Wenn ich auf die 9. Seite wische, wird onCreateView()
auch aufgerufen. Aber wenn ich auf die 10. Seite zurückkomme, wird onCreateView()
nicht aufgerufen. Was ist los?
Das liegt daran, dass ein FragmentPagerAdapter jedes Fragment im Speicher hält. Wenn Sie also das erste Mal das Fragment besuchen, wird onCreate aufgerufen, aber das zweite Mal sucht Android im Speicher, sodass onCreate nicht aufgerufen werden muss.
Wenn Sie den Code in OnCreate jedes Mal ausführen müssen, wenn das Fragment angezeigt wird, sollten Sie es in getItem (int id)
verschiebenSiehe offizielle Dokumentation: Ссылка
Ich hatte das gleiche Problem, meine Lösung war, den Adapter der ViewPager-Instanz erneut zuzuweisen, genau wie:
%Vor%Dies verursacht einen Neustart der "mItems" -Eigenschaft aus dem viewPager und entfernt den Cache.
Aber ich weiß nicht, ob es eine sichere Lösung ist
Nichts ist falsch. Die ViewPager
hat die Seite bereits und muss daher nicht erstellt werden.
Tags und Links android android-fragments android-viewpager android-pageradapter