Necesito descargar una imagen de Internet, en un hilo diferente,
y luego enviar ese objeto de imagen en el mensaje del manejador, al hilo de UI.Poner un objeto en el mensaje del manejador
Ya tengo esto:
...
Message msg = Message.obtain();
Bundle b = new Bundle();
b.putParcelable("MyObject", (Parcelable) object);
msg.setData(b);
handler.sendMessage(msg);
Y cuando recibo este mensaje, Quiero extraer el objeto:
...
public void handleMessage(Message msg) {
super.handleMessage(msg);
MyObject objectRcvd = (MyObject) msg.getData().getParcelable("IpTile");
addToCache(ipTile);
mapView.invalidate();
}
Pero esto me está dando:
...java.lang.ClassCastException...
¿Alguien puede ayudar?
Y, por cierto, ¿es esta la forma más eficiente de
para pasar un objeto al subproceso de UI?
¡Gracias a todos!
Necroposting, pero esta solución conduce a la fundición imposible cuando se trata de recuperar los datos. –
Para recuperar los datos que solo necesita: 'CustomObject passedObject = (CustomObject) msg.obj;' – amp
Del doc oficial: Al usar Messenger para enviar el mensaje a través de los procesos, esto solo puede ser no nulo si contiene un Parcelable de una clase de marco (no implementada por la aplicación). Para otra transferencia de datos use setData (Bundle). Tenga en cuenta que los objetos Parcelable aquí no son compatibles antes de la versión FROYO. – Loda