![]() |
|
| 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 |
«
Tema Anterior
|
Siguiente tema
»
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Consulta sobre Fragments
Hay manera de cargar o que se ejecute una clase que esta en un fragment en la Activity principal al arrancar la app?
|
|
|
|
#2
|
||||
|
||||
|
Si ese Fragment lo añades a la Activity principal puedes ejecutar lo que quieras en el momento en el que se produzca el onActivityCreated del Fragment.
Si te refieres a ejecutar algo que está en un Fragment en una Activity que no tiene nada que ver con ese Fragment... busca otra jerarquía. |
|
#3
|
||||
|
||||
|
Cita:
tipo esto ![]() |
|
#4
|
||||
|
||||
|
¿No es la misma pregunta? http://www.htcmania.com/showthread.php?t=1225550
Te respondo lo mismo, esas cosas consúltalas directamente a la base de datos o donde guardes esa información. Los fragments o actividades donde muestres los datos no pintan nada. |
|
#5
|
||||
|
||||
|
No es lo mismo, lo contadores ya los muestro, pero tienes que pulsar el elemento del menu para que se muestren, mientras el fragment no este cargado en la actividad principal el contador no se muestra, si pulso se muestra perfectamente.
por ejemplo, tengo este metodo en el Fragment2, lo llamo desde onCreateView o en el onResume, no pasa nada a no ser que desde el item2 (que llama a este fragment) pulse para visualizar todo el fragment en la actividad principal, asi si que me muestra los elementos. Código:
public void contadorFragment2(){
int elem = lv.getAdapter().getCount();
NavigationView nv = (NavigationView) getActivity().findViewById(R.id.nav_view);
TextView t = (TextView) nv.getMenu().findItem(R.id.nav_item2).getActionView();
t.setText(elem > 0 ? String.valueOf(elem) : null);}
|
|
#6
|
||||
|
||||
|
Claro, antes era cómo mostrar el número de elementos de una ListView de otra Activity y ahora es saber el número de elementos de una ListView de otro Fragment.
Así que sigo diciendo lo mismo, olvida que existe el Fragment. Realmente no te interesa el número de elementos de la ListView de un Fragment... lo que te interesa es cuántas cosas hay en la base de datos. Y eso ya te lo puede decir la base de datos haciendo una consulta directamente, no hace falta preguntarle a ningún Fragment o que un Fragment cree un adapter y una vista incluso si no se va a mostrar nada. |
| Gracias de parte de: | ||
|
#7
|
||||
|
||||
|
Es lo que dice mocelet, hay que tener clara la arquitectura MVC, en este caso es incluso más extremo, es casi una "Arquitectura limpia del tío Bob" (Uncle Bob's clean architecture).
Activity y Fragments -> Contienen el ListView que se rellena a partir de un Adapter Adapter -> Obtiene lo objetos de datos y los CREA y DESTRUYE según si son visibles o no en el ListView En otras palabras, si quieres saber cuantos "Recorder" tienes, no hay que ir al Fragment, para que le pregunte al Adapter y este le pregunte a los datos. Tienes que preguntar directamente a los datos, que para eso son accesibles, más que nada porque puede que el Adapter o el Fragment no lo sea. |
|
#8
|
||||
|
||||
|
Cita:
Gracias mocelet.clase en la BD. Código:
public int contadorItem2(){
return mDb.rawQuery("SELECT _id FROM "+TABLE_ITEM2+"", null).getCount();
}
|
| Respuesta |
Estás aquí
|
||||||
|
||||||
«
Tema Anterior
|
Siguiente tema
»
| Herramientas | |
|
|
Hora actual: 09:12:53 (GMT +1)
HTCMania: líderes desde el 2007





Gracias mocelet.


