J'ai une application qui utilise un service pour créer un ArrayList d'objets personnalisés (myObject) toutes les x secondes. Je veux ensuite que mon activité obtienne cette ArrayList.Comment envoyer un ArrayList d'objets personnalisés dans un Bundle
Je prévois actuellement avoir le service envoyer un message au gestionnaire de l'activité à chaque fois qu'il termine la requête pour les données. Je veux que le message au gestionnaire contienne l'ArrayList de MyObjects.
Lors de la construction de la méthode dans l'activité pour obtenir ce ArrayList sur le message, je remarquais que je ne pouvais pas.
Si j'ai essayé
msg.getData().getParcelableArrayList("myObjects")
Ensuite, la méthode que je passais à celui attendu ArrayList ne l'accepterait pas. Si j'ai essayé transcrira les résultats obtenus:
(ArrayList<MyObject>)msg.getData().getParcelableArrayList("myObjects")
J'ai reçu l'erreur: Cannot cast from ArrayList<Parcelable> to ArrayList<MyObject>
MyObject implémente Parcelable et je l'ai envoyé avec succès un ArrayList de mon service à mon activité en ayant mon activité appel d'une méthode sur le service pour le récupérer. J'essaie de ne pas avoir mon service d'enquête sur mon service pour ces données, cependant.
1) Comment puis-je envoyer un ArrayList à l'intérieur du paquet dans un message à handler? 2) Existe-t-il un modèle différent que j'utiliserais pour que mon service mette à jour les données de mon activité qui pourraient être visibles ou non? Je veux toujours que les données de mon activité soient les plus récentes du Service.