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

Respuesta
 
Herramientas
  #1  
Viejo 28/01/15, 13:20:51
Array

[xs_avatar]
Walnow Walnow no está en línea
Usuario novato en la web
 
Fecha de registro: nov 2014
Mensajes: 15
Modelo de smartphone: Galaxy S4
Tu operador: Movistar
Actualización de un listview

Hola, tengo la siguiente duda. Tengo una primera activity con un listview que me muestra las categorias que están almacenadas en una base de datos mediante un ArrayAdapter.

Por otro lado tengo una segunda activity con los edittext que la uso para crear o modificar los registros.

En la primera activity en oncreate cargo los datos de la base de datos, creo el adapter y se lo asigno al listview.

El problema con el que me encuentro es cuando doy de alta un nuevo registro no se actualiza el listview (porque lo hago en oncreate)

La solución podría ser cerrar la primera activity al abrir la segunda y al cerrar la segunda volver a abrir la primera para que entrase por OnCreate.

Otra podría ser volver a meter todo lo que tengo en oncreate en el evento al volver a mostrar la primera (con esto no me haría falta cerrar la primera activity)

Supongo que la forma correcta es avisar al adapter miediante notifyDataSetChanged que ha habido un cambio dentro del arraylist que se lo he pasado al constructor pero la única forma que se me ocurre la estar en una activity diferente es pasasr de la segunda a la primera el registro introducido por el usuario para añadir el registro al arraylist (en la primera activity) y notificar al adpater del cambio. Esto es lo correcto, cual es la mejor forma de hacerlo?
Responder Con Cita


  #2  
Viejo 28/01/15, 13:47:57
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Puedes notificar el cambio en el Adapter en el onResume, así cada vez que vuelvas a entrar en la primera Activity se actualizará el ListView.
Responder Con Cita
  #3  
Viejo 28/01/15, 13:53:00
Array

[xs_avatar]
Walnow Walnow no está en línea
Usuario novato en la web
 
Fecha de registro: nov 2014
Mensajes: 15
Modelo de smartphone: Galaxy S4
Tu operador: Movistar
Pero entonces desde la segunda activity tengo que retornar los nuevos valores para modificar el arraylist y entonces notificar el cambio al adapter
Responder Con Cita
  #4  
Viejo 28/01/15, 16:11:20
Array

[xs_avatar]
Walnow Walnow no está en línea
Usuario novato en la web
 
Fecha de registro: nov 2014
Mensajes: 15
Modelo de smartphone: Galaxy S4
Tu operador: Movistar
No soy capaz de pasar los parametros de la segunda activity a la primera para capturarlo en OnResume. La unica forma es mediante un intent y un startActivity pero con esto entro en oncreate.
Responder Con Cita
  #5  
Viejo 28/01/15, 19:10:21
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Si quieres recoger en la primera Activity algo que haces en la segunda, tendrás que lanzar a la segunda con startActivityForResult, en la segunda hacer un setResult con un Intent, y en la primera recuperar ese Intent en onActivityResult.

En Android no puedes pasar referencias de una Activity a otra y esperar que esa referencia se conserve cuando vuelvas a la Activity original, ya que puede haberse destruido y se tenga que regenerar.
Responder Con Cita
Respuesta

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



Hora actual: 18:49:31 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /