0

I J'ai essayé le code suivant pour passer d'un fragment Fragment extends à une activité extends.Revenir à un fragment d'une activité onBackpress

Intent mIntent = new Intent(getActivity(), UserProfile.class); 
      Bundle bundle = new Bundle(); 
      bundle.putBoolean(Constant.isFromChatScreen, false); 
      mIntent.putExtras(bundle); 
      startActivity(mIntent); 

En BaseActivity.java je Fragment A, Fragment B, Fragment C ..de Fragment A je me suis déplacé à Userprofile.java maintenant je veux revenir à un Fragment onBackPressed Comment puis-je faire cela?

+1

Cela semble un peu étrange, mais je pourrais mal interpréter votre question. Les fragments sont hébergés dans des activités, alors pourquoi ne pas simplement échanger des fragments et les manipuler à travers la pile arrière? – Stefan

+0

Dans BaseActivity.java j'ai Fragment A, Fragment B, Fragment C..à partir de Fragment A je suis passé à Userprofile.java maintenant je veux revenir à Fragment A. –

+0

'startActivityForResult()'? – Stefan

Répondre

0

Il suffit d'utiliser addToBackStack(null) avant de valider lorsque vous effectuez des transactions de fragment, puis lorsque vous appuyez sur le bouton de retour, vous reviendrez à votre fragment.

+0

Il commence une nouvelle activité. Vous devez prendre en considération le changement du cycle de vie de l'activité. –

+0

Vous pouvez voir le commentaire de Hadi Samadbin avec le lien qui dit que ma réponse est correcte. Il commence une nouvelle activité et s'il appuie sur le bouton retour, il atteindra la dernière activité qu'il était (qui est l'activité qui inclut le fragment A), et s'il ajoutera ToTackStack les transitions, il verra le fragment A parce qu'il était le dernier fragment avec lequel il a travaillé avant de commencer une intention pour la nouvelle activité. –

+0

@ T.S pourriez-vous mettre la question en suspens? .. –

1

Vérifiez la documentation de Google pour findFragmentByTag() here.

Vous pouvez également utiliser addToBackStack() tout en appelant le fragment de FragmentTransaction

0

question ancienne, mais tous ceux qui cherchent une réponse à cela peut tout faire:

@Override 
public void onBackPressed() { 
    finish(); 
} 

finish() "ferme" l'activité en cours et vous ramène au fragment (En fait, cela vous ramène à l'activité hébergeant le fragment)