J'ai BaseFragment que tous les autres fragments étendent. Et le fragment de base OnCreate() ajoute une barre d'action personnalisée à l'application. Tous les fragments enfants mettent à jour les boutons de la barre d'action et le titre. Sur le dos, appuyez sur la barre d'action ne sera pas mis à jour.La barre d'action n'est pas mise à jour à l'arrière dans BackStack of Nested Fragments?
abstrait BaseFragment public class {Fragment
public TextView actionbarTextView;
public Button actionbarSettings;
public void updateActionbar(String title, boolean showSettings){
actionbarTextView.setText(title);
actionbarSettings.setvisibility(showSettings ? View.VISIBLE :View.GONE);
}
}
public class ChildFragment1 extends BaseFragment{
@override
onResume(){
updateActionbar("ChildFragment1",false);
}
}
public class ChildFragment2 extends BaseFragment{
@override
onResume(){
updateActionbar("ChildFragment2",true);
}
}
ici quand je suis arrivé de childFragment1 -> childFragment2. À l'arrière, appuyer sur les boutons Titre et Action ne sont pas mis à jour.
Comment puis-je l'implémenter pour que ça fonctionne toujours? Je remplaçais fragment comme ci-dessous ..
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(true);
// Commit the transaction
transaction.commit();
transaction.addToBackStack (null); –
Utilisez onREsume dans Mainactivity à la place de basefreagment pour mettre à jour le fragment – raj