Nous essayons de créer une application Android basée sur ViewPager qui reçoit pendant l'exécution des instructions pour ajouter et supprimer des pages. Presque comme une expérience de navigateur à onglets, que vous pouvez supprimer l'onglet actuel, ou supprimer un onglet spécifique.
En suivant la documentation de Google, nous utilisons FragmentStatePagerAdapter, qui est destiné à être utilisé dans des situations où il y a un grand nombre de pages, fonctionnant plus comme une vue de liste.
Mais quand on essaie de le faire : - supprimer une page qui n'est pas à l'écran - et de créer un nouvel objet fragment de la même classe - et sur la même position de la page supprimée Nous avons remarqué que la plateforme Android récupère la page morte et l'affiche à l'utilisateur. Le nouvel objet que nous venons de créer n'exécute simplement pas "onCreate", "onCreateView" ou "onActivityCreated".
Nous cherchons des moyens de résoudre ce problème en forçant la plateforme à utiliser notre nouvel objet fragment de la même classe. Des idées ?
Nous avons découvert que si nous détruisons la page actuelle, la plate-forme détruit effectivement la page et crée un nouvel objet de la même classe. Voici un petit exemple reproduisant le problème et ce comportement.
Source : http://dl.dropbox.com/u/8333012/SimpleAdapter/SimplePager.zip
Vidéo : http://www.youtube.com/watch?v=-oaXXwU8PSI&hd=1
Dans ce projet, lorsque vous touchez le TextView sur la première page, il a été conçu pour supprimer la deuxième page (qui est verte) et la remplacer par une nouvelle page bleue. Vous verrez que même en faisant cela à partir de la première page, la deuxième page reste verte. Mais lorsque vous appuyez sur le bouton retour d'Android sur la deuxième page (verte) et que vous touchez le TextView, la deuxième page créée sera de la bonne couleur bleue.