|
||
|
![]() |
![]() |
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
|
||||
|
||||
¿Como pasar un array entre 2 actividades?
Hola buenas, me preguntaba como se puede hacer si es posible, pasar un array, osea un vector con varios valores de una activity a otra.
0sea, tengo: int[] vector = new int[20]; Y quiero pasar el contenido de ese vector a una 2º activity donde pueda recogerlo y seguir metiendole datos, y luego volver a pasarlo a otra. He leido que es con el objeto bundle pero lo he intentado y no me funciona. Si podeis ponerme tanto lo que hay que poner en la Activity de salida como de salida mejor. Si es posible claro, igual no es posible pasar vectores entre activitys. |
|
#2
|
||||
|
||||
Si te vale con que los números sean menores de 2^16 puedes usar short[] en lugar de int[], y entonces usar putShortArray en el Bundle.
Si pueden ser más grandes entonces tendrás que usar un ArrayList en lugar de un array, y usar el método putIntegerArrayList en el Bundle. |
#3
|
||||
|
||||
Si, son números menores de 100 pero quiero pasar el array completo.
Podrías ponerme como hacer 3l bundle con un vector short? Y como recuperarlo? Por ahora solo he pasado strings estoy aun empezando |
#4
|
||||
|
||||
Yo tuve el mismo problema y la única solución fue hacer lo mismo que se hace en un sitio WEB, en ves de pasar todos los parámetros de una pagina a otra los cargo en la segunda a través de un identificador.
Por ejemplo digamos que pasas el id de tarea de una actividad a otra, entonces esa otra actividad dependiendo del id de tarea hace esa tarea. En mi caso yo tengo una clase llamada core la cual se encarga de obtener todas las configuraciones, datos del perfil del usuario y demás, entonces cuando paso de una activida a otra tengo que volver a declarar la clase core y esa clase debe volver a cargar todos los datos y si necesito pasar por ejemplo los datos de un zapato a otra actividad solo le doy el id de zapato y despues la segunda actividad solo debe ir a buscar los datos del zapato desde la base de datos en sqlite. Lamentablemente cuando navegas vas duplicando la carga de memoria ram pero por lo menos es la manera mas efectiva que he encontrado y en ves de navegar por las actividades las vas destruyendo para liberar la memoria, es preferible que se vuelvan a crear a guardarlas en pausa con toda la memoria encima. Una solución oficial a esto es utilizar parcelables pero no siempre puedes poner toda la información de un objeto en un parcelable: http://stackoverflow.com/questions/2...-using-intents Última edición por WHK Día 18/02/15 a las 01:52:33. |
![]() |
![]() |
||||||
|
Herramientas | |