Arrêter fragment d'être recréé après la reprise?
Je suis à l'aide de plusieurs fragment
s être ajoutés dynamiquement dans activity
. Tout fonctionne très bien, quand j'appuie sur le dos-bouton, fragment
s go pour backstack
. Et quand je resume
, elle apparaît. Mais à chaque fois sur Resume
, c'est recréer le fragment
et appel onCreateView
. Je sais que c'est un comportement normal de la fragment
cycle de vie.
C'est mon onCreateView
:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(
R.layout.competitive_programming_exercise, container, false);
return rootView;
}
Je veux arrêter ceux fragment
s de recréer. J'ai essayé avec onSavedInstanstate
mais rien ne fonctionne. Comment puis-je le réaliser?
OriginalL'auteur Kaidul | 2013-08-25
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas arrêter le fragment de la recréation, malheureusement. Le meilleur que vous pouvez faire est de supprimer le fragment dans une transaction, après qu'il a été restauré, mais avant qu'il s'affiche.
Si vous savez que vous allez retirer le fragment immédiatement, vous pouvez réduire l'impact sur les performances de la restauration du fragment par la simplification des méthodes telles que
onCreateView()
retour d'un mannequin de vue, plutôt que de gonfler le point de vue de la hiérarchie de nouveau.Malheureusement, la partie difficile est de trouver le meilleur endroit pour commettre cette transaction. Selon cet article il n'y a pas beaucoup d'endroits sûrs. Peut-être que vous pouvez essayer à l'intérieur de
FragmentActivity.onResumeFragments()
ou éventuellementFragment.onResume()
.OriginalL'auteur Alex MDC
Dans l'Activité de
onCreateView
définir lasavedInstanceState
à null avant d'appeler la méthode super. Vous pouvez également supprimer uniquement les touches "android:viewHierarchyState" et "android:fragments" dans le bundle savedInstanceState. Voici le code pour la solution la plus simple, invalide l'état:OriginalL'auteur Arne Evertsson
Iam à l'aide de 5 fragments et de travail pour moi, bien que j'ai été confronté à la même question avant..
J'ai mis le point de vue de la variable à l'intérieur de la classe et il gonfle comme un nouveau seulement si l'instance de vue est null ou utiliser autrement de celui qui a été créé avant
Vous êtes les bienvenus @jahsonkimulu
OriginalL'auteur Sayka