Question

J'ai un ListFragment qui dépend du Activity d'hébergement pour initialiser correctement. Au premier lancement, il charge très bien. Une fois que je change l'orientation, mon application plante. De la trace de la pile, je peux le voir ne me tente d'ajouter le Fragment prématurément, plutôt Android tente de restaurer la Fragment.

J'ai mis de setRetainInstance(false) dans la méthode onStart mais ne peut pas trouver une méthode pour désactiver la restauration du Fragment une fois que les changements d'orientation. Des idées? Dois-je retirer le Fragment avant mon application détruite?

Edit: J'ai fini par retarder l'initialisation de la liste jusqu'à ce que l'activité est prêt. Applications montre commodément un message « chargement » jusqu'à ce que l'adaptateur est réglé.

Était-ce utile?

La solution

J'ai fini par retarder l'initialisation de la liste jusqu'à ce que l'activité est prêt. Applications montre commodément un message « chargement » jusqu'à ce que l'adaptateur est réglé.

Autres conseils

J'ai un ListFragment qui dépend de l'activité d'hébergement à initialiser correctement.

Cela peut être votre difficulté là.

De la trace de la pile, je peux le voir ne me tente d'ajouter le fragment prématurément, plutôt Android tente de restaurer le fragment.

Correct.

Toutes les idées?

Je mettrait l'accent sur le traitement des changements de configuration correctement. Entre onSaveInstanceState() dans le fragment et la combinaison de onRetainNonConfigurationInstance(), getLastNonConfigurationInstance() (à la fois sur Activity) et onAttach() (sur votre Fragment), vous devriez être en mesure de passer ce qui est des choses dans le vieux fragment à la nouvelle sans se briser. Pour les changements de configuration, ne comptez pas sur « l'activité d'hébergement pour initialiser correctement ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top