Pasar List de objetos entre activities

4,172 views
Skip to first unread message

Óscar Toro

unread,
Oct 14, 2011, 6:23:47 PM10/14/11
to desarrollad...@googlegroups.com
Hola,

Quiero pasar un List de objetos a través de un Intent, ¿cual es la forma correcta? Ahora hago esto y no da error al compilarse, pero en la ejecución veo que el List que recojo del Intent está lleno, pero de valores null:

List<Proyecto> lp = p.parse();
Intent i = new Intent(this, ListaProyectos.class);
        i.putParcelableArrayListExtra("lista", (ArrayList<? extends Parcelable>) lp);
       
        startActivity(i);

Luego, en la otra activity recojo el List así;

private List<Proyecto> proyectos;

proyectos =this.getIntent().getParcelableArrayListExtra("lista");

Aquí el tamaño de proyectos es 1, pero el único objeto que contiene todos sus valores son null.

A ver si alguien me muestra la luz...

Gracias,

Óscar Toro

FRANCISCO ORTEGA

unread,
Oct 14, 2011, 10:26:40 PM10/14/11
to desarrollad...@googlegroups.com
Compadre usa una clase k extienda de aplication
k es la que representa al proceso sobre el cual corre tu app, asi k si muere ese objeto significa que muere toda tu app
de resto esta te mantiene los recursos y son faciles de pasar a travez de activities.

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

Óscar Toro

unread,
Oct 15, 2011, 5:21:32 AM10/15/11
to FRANCISCO ORTEGA, desarrollad...@googlegroups.com
Hola Francisco,

Me mostrarías un ejemplo de lo que comentas?

Gracias,

Óscar Toro

-----Original Message-----
From: FRANCISCO ORTEGA <fhle...@gmail.com>
Date: Sat, 15 Oct 2011 02:26:40
To: <desarrollad...@googlegroups.com>
Subject: Re: [desarrolladores-android.com] Pasar List de objetos entre
activities

Compadre usa una clase k extienda de aplication
k es la que representa al proceso sobre el cual corre tu app, asi k si muere ese objeto significa que muere toda tu app
de resto esta te mantiene los recursos y son faciles de pasar a travez de activities.

El 14 de octubre de 2011 15:23, Óscar Toro <osca...@hotmail.com <mailto:osca...@hotmail.com> > escribió:

Hola,

Quiero pasar un List de objetos a través de un Intent, ¿cual es la forma correcta? Ahora hago esto y no da error al compilarse, pero en la ejecución veo que el List que recojo del Intent está lleno, pero de valores null:

List<Proyecto> lp = p.parse();
Intent i = new Intent(this, ListaProyectos.class);
        i.putParcelableArrayListExtra("lista", (ArrayList<? extends Parcelable>) lp);
       
        startActivity(i);

Luego, en la otra activity recojo el List así;

private List<Proyecto> proyectos;

proyectos =this.getIntent().getParcelableArrayListExtra("lista");

Aquí el tamaño de proyectos es 1, pero el único objeto que contiene todos sus valores son null.

A ver si alguien me muestra la luz...

Gracias,

Óscar Toro
--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.

Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com <mailto:desarrollad...@googlegroups.com> .
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com <mailto:desarrolladores-android%2Bunsu...@googlegroups.com>

Willy Estrada

unread,
Oct 17, 2011, 10:57:02 PM10/17/11
to desarrolladores-android

De acuerdo con francisco, bueno primero tendrias q crear una clase q
extienda de android.app.Application, luego en el manifest tendrias q
darle nombre a tu aplicacion con el nombre de la clase q has creado
dentro del tag application,
En esa clase es donde guardarias cualkier variable q usarias en tu
aplicacion y podrias guardar y obtener datos desde cualkier activity,
supongamos q la clase q has creado heredando de android.app.Aplication
la has llamado Principal y dentro de ella tienes una lista con sus
respectivos getters and setters, puedes usar la variable de la
siguiente manera,
((Principal)actividadActual.getApplicationContext()).setLista(tuLista);
o crear una clase control q herede de principal donde guardes todas
tus variables y solo invocarias a esa clase control para q este todo
mas ordenado, espero te haya ayudado



On 15 oct, 04:21, Óscar Toro <oscar...@hotmail.com> wrote:
> Hola Francisco,
>
> Me mostrarías un ejemplo de lo que comentas?
>
> Gracias,
>
> Óscar Toro
>
>
>
> -----Original Message-----
> From: FRANCISCO ORTEGA <fhleo...@gmail.com>
> Date: Sat, 15 Oct 2011 02:26:40
> To: <desarrollad...@googlegroups.com>
> Subject: Re: [desarrolladores-android.com] Pasar List de objetos entre
>
>  activities
>
> Compadre usa una clase k extienda de aplication
> k es la que representa al proceso sobre el cual corre tu app, asi k si muere ese objeto significa que muere toda tu app
> de resto esta te mantiene los recursos y son faciles de pasar a travez de activities.
>
> El 14 de octubre de 2011 15:23, Óscar Toro <oscar...@hotmail.com <mailto:oscar...@hotmail.com> > escribió:
>
>  Hola,
>
> Quiero pasar un List de objetos a través de un Intent, ¿cual es la forma correcta? Ahora hago esto y no da error al compilarse, pero en la ejecución veo que el List que recojo del Intent está lleno, pero de valores null:
>
> List<Proyecto> lp = p.parse();
> Intent i = new Intent(this, ListaProyectos.class);
>         i.putParcelableArrayListExtra("lista", (ArrayList<? extends Parcelable>) lp);
>        
>         startActivity(i);
>
> Luego, en la otra activity recojo el List así;
>
> private List<Proyecto> proyectos;
>
> proyectos =this.getIntent().getParcelableArrayListExtra("lista");
>
> Aquí el tamaño de proyectos es 1, pero el único objeto que contiene todos sus valores son null.
>
> A ver si alguien me muestra la luz...
>
> Gracias,
>
> Óscar Toro                                      
>  --
>  Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
>  Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com <mailto:desarrollad...@googlegroups.com> .
>  Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com <mailto:desarrolladores-android%2Bunsu...@googlegroups.com>
>  Para tener acceso a más opciones, visita el grupo enhttp://groups.google.com/group/desarrolladores-android?hl=es.

Óscar Toro

unread,
Oct 18, 2011, 4:32:05 AM10/18/11
to desarrollad...@googlegroups.com
Gracias por las respuestas, al final lo solucioné con una variable static a la que poder acceder desde la siguiente activity. Estuve peleandome con hacer una clase Parcelable, pero no me funcionó. Al compilar no daba error, pero al pasar el dato en un Bundle en el Intent al recibirlo  los datos eran null... no sé en donde debía fallar, ya que entiendo que es algo que debe funcionar, pero no he sabido solucionarlo así.

Óscar Toro

> Date: Mon, 17 Oct 2011 19:57:02 -0700
> Subject: [desarrolladores-android.com] Re: Pasar List de objetos entre activities
> From: willyest...@gmail.com
> To: desarrollad...@googlegroups.com

Antonio Álvarez

unread,
Oct 18, 2011, 4:50:27 AM10/18/11
to desarrollad...@googlegroups.com
Aquí tienes un ejemplo de como pasar una clase entre actividades:


Es una aplicación que tengo en el Market: Gastos Móvil.

las clases tarifas, tarifa y franja son serializables y las paso entre actividades.

Si quieres míralo y si tienes dudas me preguntas.

Un saludo.

--
+++++++++++++++++++

Android Market
--------------------------------------------------------------------------------------
Gastos Móvil : Controla tu gasto de teléfono y a tu operador.
Meteoclimatic : Pon una estación en la palma de tu mano.

Óscar Toro

unread,
Oct 18, 2011, 7:34:02 AM10/18/11
to desarrollad...@googlegroups.com
Muchas gracias! Lo revisaré.

Óscar Toro

-----Original Message-----

jackgris

unread,
Oct 18, 2011, 5:58:25 PM10/18/11
to desarrollad...@googlegroups.com
Hola a todos, tengo dos problemas:
Uno es que tengo el samsung gt i5500l, que si no me equivoco ese seria
un samsung galaxy 5 o europa. El tema es que para cambiarle la ROM,
estaba tratando de realizarlo con el rom manager, pero al querer
flashear el recovery con el mismo, no me aparece la opcion del mio. Y
probando con los otros no funciona. (me salta un cartel que dice:
Ocurrio un error al intentar ejecutar comandos privilegiados!) Lo que me
parece raro porque lo rootee, tiene instalado el programa superusuario,
nose si a este hay que configurarlo alguna manera en particular. Y
tampoco se donde conseguir el recovery para mi cel para instalarlo de
forma manual.

Ahora mi otro problema, como lo ven en la foto, al querer probar mis
aplicaciones desde eclipse en mi celu, me salta que lo detecta, pero que
no lo reconoce, no se porque este error.


Gracias a todos, saludos

Pantallazo.png

jackgris

unread,
Oct 18, 2011, 6:09:44 PM10/18/11
to desarrollad...@googlegroups.com


Gracias a todos, saludos

P.D: lo reenvio porque creo que no mando la imagen

Pantallazo.png
Reply all
Reply to author
Forward
0 new messages