Es sólo simple si usted tiene una Actividad A y haces 3 fragmentos como B, C y Home_Fragment. Ahora, si está en el fragmento B o C y presiona el botón Atrás, quiere avanzar Home_Fragment todo el tiempo.
Entonces usted tiene que acaba de reemplazar el método onBackPressed()
en la Actividad A y también cuando se salta a cualquier fragmento, a continuación, dar un TAG o nombre específica, se le reconocen ese fragmento de la Actividad A.
estoy dando la ejemplo, que puede comprender fácilmente:
Pasar de la actividad de la a a la C Fragmento
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new C_fragment(),"xyz").commit();
}
o si se desplaza de un fragmento B al fragmento C, y en la prensa de vuelta, quiere venir en Fragmento D, hacer, como a continuación:
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getActivity().getSupportFragmentManager().beginTransaction()
.add(R.id.container, new C_frament(), "xyz").commit();
((ActionBarActivity) getActivity()).getSupportActionBar().setTitle("Fragment C");
}
});
Ahora usted tiene que apenas anular el onBackPressed() método en el la actividad principal de la siguiente manera:
@Override
public void onBackPressed() {
FragmentManager fragmentManager =getSupportFragmentManager();
if (((C_fragment) getSupportFragmentManager().findFragmentByTag("xyz")) != null
&& ((C_fragment) getSupportFragmentManager().findFragmentByTag("xyz")).isVisible()) {
Fragment fragment = new Home_Fragment();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
getSupportActionBar().setTitle("Home fragment ");
} else {
super.onBackPressed();
}
}
u puede mantener el botón cuando el botón presiona pasa automáticamente a la página HME ... Intención i = new Intent (AccountActivity.this, ContactsActivity.class); startActivity (i); – shassss
"Pero quiero que cuando el usuario presiona el botón Atrás, en lugar de la actividad anterior, la aplicación debe ir a la pantalla de inicio", ya que es poco probable que el * usuario * quiera esto, ¿por qué crees que esto es un comportamiento justificable? – CommonsWare
la actividad que menciono es la pantalla del jugador de un reproductor de música. Quiero que cuando el usuario seleccione una canción de la lista de reproducción, la aplicación vaya a PlayerActivty. Pero cuando el botón Atrás está presionado desde el reproductor, el flujo irá a la pantalla de inicio o a alguna otra aplicación que el usuario haya abierto antes.Espero haber explicado la pregunta. – reiley