tout d'abord j'ai essayé toutes les solutions disponibles mais je ne reçois toujours pas la réponse à cette question. J'ai une activité qui a peu de fragments qui vont peupler un ViewPager, la façon dont je peupler le viewPager est de cette façon.comment enregistrer des données lorsque Fragment est remplacé
fragment = getSupportFragmentManager();
fragment.beginTransaction()
.replace(R.id.homepageVp, newFrag)
.addToBackStack(null)
.commit();
suppouse il y a Fragment A et je le remplace par le fragment B en utilisant code ci-dessus, et voici ma question, est-il possible de passer de Fragment A à Fragment B et retourner au fragment A l'aide code ci-dessus mais contenant toujours des données du précédent Remplacer (le premier).
j'ai essayé d'utiliser
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(VAR_KEY, jsonResult);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
jsonResult = savedInstanceState.getString(VAR_KEY);
}
intérieur Fragment A, ce je crois comprendre que onSaveInstanceState est exécuté pour sauver la variable JsonResult plus tard quand mon activité est créée à nouveau l'onActivityCreated est exécuté et mettre la valeur précédente en jsonResult variable. mais cela n'a pas fonctionné, donc peut-être il y a une erreur (s) que j'ai faite, ou c'est ma compréhension de Fragment LifeCycle qui n'est pas correcte.
pourquoi ne pas vous créer une classe singleton pour stocker les JSON et y accéder où que vous soyez? –
avez-vous essayé onCreateView au lieu de onActivityCreated? – phpdroid