Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial Fragments
Tutorial Fragments
EN DRAWER ACTIVITY, TAMBIEN DESDE UN ACTIVITY “C” A UN FRAGMENT “b” DEL DRAWER
ACTIVITY.
En mi caso yo uso una clase llamada Config en el cual declaro variables estática para poder
cambiarlas de valor según en el fragmente o actividad que me encuentro.
…
public static int SELECT_NAV = 0;
public static boolean OP_MENU=false;
…
}
En el metoro onCreate:
if(!Config.OP_MENU) {
navigationView.setCheckedItem(R.id.navTienda);
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.contenedorMain, new
TiendaFragment()).commit();
}
else{
navigationView.setCheckedItem(Config.SELECT_NAV);
displayView(Config.SELECT_NAV);
}
como podras ver: he creaedo un metoro displayView que paso como parametron el id del menu
que quiero mostrar.
if (id == R.id.navTienda) {
setTitle("Tienda");
fragmentManager.beginTransaction().replace(R.id.contenedorMain,
new TiendaFragment()).commit();
} else if (id == R.id.navBuscar) {
setTitle("Buscar en la Tienda");
fragmentManager.beginTransaction().replace(R.id.contenedorMain,
new BuscarFragment()).commit();
} else if (id == R.id.navNotificacion) {
setTitle("Notificaciones");
fragmentManager.beginTransaction().replace(R.id.contenedorMain,
new NotificacionesFragment()).commit();
} else if (id == R.id.navCarrito) {
setTitle("Carrito de Pedidos");
fragmentManager.beginTransaction().replace(R.id.contenedorMain,
new CarritoFragment()).commit();
} else if (id == R.id.navCompartir) {
setTitle("Compartir");
fragmentManager.beginTransaction().replace(R.id.contenedorMain,
new TiendaFragment()).commit();
} else if (id == R.id.navServicio) {
setTitle("Servicios de Asistencia");
fragmentManager.beginTransaction().replace(R.id.contenedorMain,
new TiendaFragment()).commit();
} else if (id == R.id.navAcerca) {
setTitle("Acerca del App");
fragmentManager.beginTransaction().replace(R.id.contenedorMain,
new TiendaFragment()).commit();
} else if (id == R.id.navProveedor) {
setTitle("¡Quiero un mi app!");
fragmentManager.beginTransaction().replace(R.id.contenedorMain,
new TiendaFragment()).commit();
}
displayView(item.getItemId());
return true;
}
EN MI PROYECTO, ESTE CODIGO LO USO CUANDO PRESIONA EL BOTON “VOLVER A TIENDA” DEL
DISPOSITIVO, PERO TU PUEDES USARLO AL PRESIONAR EL BOTON QUE DESEES.
btTienda.setOnClickListener(this);
return fragment;
}
El mismo codigo se usa cuando estas en un Activity y quieres mostrar un fragment cualquiera:
Config.OP_MENU = true;
Config.SELECT_NAV = R.id.navTienda;
Intent intent = new Intent(ResultadosActivity.this, MainActivity.class);
startActivity(intent);