|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Uso de Fragments
Quiero utilizar Fragments para, al hacer click sobre cierto elemento de un ListView, mostrar detalles de ese Item del ListView. Para hacer esto hago lo siguiente:
Creo una FragmentActivity donde alojo el ListView en un FrameLayout. El método onItemClick del ListView es el siguiente: Código:
@Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { FT = getSupportFragmentManager().beginTransaction(); FT.replace(R.id.fragment_container, fragment); FT.addToBackStack(null); FT.commit(); } Un saludo!
__________________
|
|
#2
|
||||
|
||||
Puedes sustituir un fragment por otro, ¿el ListView está en un fragment?
Cuando añades un fragment lo que hace es añadirlo al contenedor en cuestión, pero si ahí había cosas que no sea un fragment que el fragment manager haya puesto o tuvieras definido en el XML, entonces no lo quita.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
#3
|
||||
|
||||
Puedes sustituir un fragment por otro, ¿el ListView está en un fragment?
Cuando añades un fragment lo que hace es añadirlo al contenedor en cuestión, pero si ahí había cosas que no sea un fragment que el fragment manager haya puesto o tuvieras definido en el XML, entonces no lo quita. ![]() Ahora mismo tengo una FragmentActivity cuyo Layout es un FrameLayout, desde esta FragmentActivity ejecuto lo siguiente: Código:
fragment = new EjBinariosDoneFragment(); FT = getSupportFragmentManager().beginTransaction(); FT.replace(R.id.fragment_container, fragment); FT.addToBackStack(null); FT.commit(); Un saludo!
__________________
|
#4
|
||||
|
||||
Para que al pulsar Back no vuelva atrás el Fragment sino la Activity basta con quitar la línea:
FT.addToBackStack(null); Y si el comportamiento que buscas es el mismo que tiene por ejemplo GMail en Tablets, donde 1/4 de la pantalla es el ListView de correos y los otros 3/4 es el detalle del correo, lo que tienes que hacer es usar 2 FragmentLayout, en uno pones el Fragment con el ListView y en el otro vas haciendo "replace" de nuevos Fragments con el detalle, o también puedes poner un Fragment fijo con el detalle e ir cambiando su contenido con un método. |
#5
|
||||
|
||||
Para que al pulsar Back no vuelva atrás el Fragment sino la Activity basta con quitar la línea:
FT.addToBackStack(null); Y si el comportamiento que buscas es el mismo que tiene por ejemplo GMail en Tablets, donde 1/4 de la pantalla es el ListView de correos y los otros 3/4 es el detalle del correo, lo que tienes que hacer es usar 2 FragmentLayout, en uno pones el Fragment con el ListView y en el otro vas haciendo "replace" de nuevos Fragments con el detalle, o también puedes poner un Fragment fijo con el detalle e ir cambiando su contenido con un método. ![]() En cuanto al comportamiento, yo pensaba más en una ventana algo más pequeña que la pantalla pero centrada en esta, viéndose el fragment con el ListView de fondo. También pensé en que el segundo fragment fuese algo "transparente", pero no lo tengo muy claro. Me gustaría probar, pero no sé como hacerlo ni encuentro información al respecto.
__________________
|
![]() |
![]() |
||||||
|