Dans mon application, j'ai un seul Activity
et plusieurs Fragments
. De mon MainActivity
, j'ajoute mon premier Fragment
. De l'intérieur du premier adaptateur Fragment
basé sur l'article cliquez sur, j'ajoute le deuxième Fragment
. Et de la deuxième Activity
adaptateur basé sur l'article cliquez sur, j'ajoute le troisième Fragment
.Comment gérer le changement d'orientation en cas d'activité unique et plusieurs fragments
Tout fonctionne bien mais en cas de changement d'orientation, l'application plante.
code:
MainActivity:
if (savedInstanceState == null) {
mHomeScreenFragment = (HomeScreenFragment) getSupportFragmentManager().findFragmentById(R.id.contentFrame);
if (mHomeScreenFragment == null) {
mHomeScreenFragment = HomeScreenFragment.newInstance();
}
ActivityUtils.addFragmentToActivity(getSupportFragmentManager(), mHomeScreenFragment, R.id.contentFrame, "HomeScreen");
}
1er adaptateur Fragment - sur le point clic:
FoodListFragment foodListFragment = null;
if (foodListFragment == null) {
foodListFragment = foodListFragment.newInstance(position);
ActivityUtils.replaceFragmentToActivity(((MainActivity) view.getContext()).getSupportFragmentManager(),
foodListFragment, R.id.contentFrame, "FoodList");
}
2ème adaptateur Fragment
- sur le point clic:
FoodDetailsFragment foodDetailsFragment = null;//(FoodDetailsFragment) ((MainActivity)view.getContext()).getSupportFragmentManager().findFragmentByTag("FoodDetails");
if (foodDetailsFragment == null) {
foodDetailsFragment = foodDetailsFragment.newInstance(foodListData.getUrl(),
foodListData.getName(),
foodListData.getSalePrice().getAmount(),
foodListData.getSalePrice().getCurrency());
}
ActivityUtils.replaceFragmentToActivity(((MainActivity)view.getContext()).getSupportFragmentManager(), foodDetailsFragment, R.id.contentFrame, "FoodDetails");
peut-il m'aider à dire comment gérer correctement le changement d'orientation dans le cas de 1 Activity
et plusieurs Fragments
?
J'ai presque essayé toutes les solutions sur StackOverflow et d'autres endroits et rien ne semble fonctionner.
veuillez télécharger le journal de collision – redAllocator