Avisos

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  
Viejo 26/09/16, 10:32:50
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
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?
Responder Con Cita


  #2  
Viejo 26/09/16, 13:36:20
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
  #3  
Viejo 28/09/16, 09:56:48
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
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.
El tema es que tengo un NavigationView con un menu, cada item del menu es un fragment que se carga al pulsar, al lado del item he añadido un numero que muestra los elementos que tiene la lista de ese fragment, tipo Gmail que te muestra el numero de correos que tienes en la carpeta, el problema es que al iniciar la aplicacion solo me muestra el numero del primer elemento de la lista, o sea el que se carga por defecto con la actividad, pero si luego pulso por ejemplo el 3er item se carga su fragment correspondiente y ahi si me muestra el contador y asi sucesivamente, lo que intento es que se me muestren todos los contadores al iniciar la app.

tipo esto




Responder Con Cita
  #4  
Viejo 28/09/16, 10:25:24
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
¿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.
Responder Con Cita
  #5  
Viejo 28/09/16, 10:42:37
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
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);}
Responder Con Cita
  #6  
Viejo 28/09/16, 15:18:44
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
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.
Responder Con Cita
Gracias de parte de:
  #7  
Viejo 28/09/16, 17:41:18
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
  #8  
Viejo 28/09/16, 18:25:27
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por mocelet Ver Mensaje
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.
Vale, entiendo el concepto, seria coger los elementos de la tabla por ejemplo con el metodo getCount() no?, he creado una clase en la base de datos, la llamo desde onResume de la Activity principal y me muestra los contadores al iniciar... Gracias mocelet.

clase en la BD.
Código:
public int contadorItem2(){
    return mDb.rawQuery("SELECT _id FROM "+TABLE_ITEM2+"", null).getCount();
}
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 09:12:53 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007