Jump to content

passer un objet a une activity ...


8motions

Recommended Posts

Bonjour,

Je suis en train de créer une API andro qui doit afficher sur la vue caméra des objets quelconques.

Mon API se compose d'une Activity à laquelle on passe des Objets.

Jusqu'à aujourd'hui tout se passait bien, les objets étaient parcelable car tous construits graphiquement de la meme façon (une photo a droite, un titre et une descr) ...

Mais le client souhaite que l'API soit dynamique dans le sens où les objets à afficher peuvent être différents l'un de l'autre (pas le modèle mais la structure graphique, la photo a gauche le titre en haut et la descr en bas par exemple).

J'ai donc créer une interface ItemBuilder qui se charge du onDraw(), donc lorsque l'on crée un item on lui spécifit un builder. Soucis, le builder étant l'activity du client, celle ci n'est pas parcelable :/

Je résume ce que je cherche à faire :

- Activity A cliente qui crée des api_items et s'enregistre en temps que api_builder dessus.

- Activity A lance un Intent de l'Activity B (mon API) et passe dans l'intent les api_items

- Activity B tente d'afficher les api_items et demande à Activity A la facon de les afficher via les méthodes de api_builder qu'elle implémente.

Ma question au final est, existe t'il un moyen pour faire fonctionner ce début de réflexion, ou alors en cassant tout une autre façon de faire en gardant à l'esprit le coté Client/API ?

Merci

Link to comment
Share on other sites

Les objets échangeables au travers des Intent doivent effectivement être parcelables. Et on ne peut échanger que des données, pas des comportements, ce que tu voudrais faire...

Dans ton cas, le mécanisme des Service serait peut être plus approprié... même si déporter la gestion de l'UI dans un service ne me paraît pas si bonne que cela. Peut-être vaudrait-t-'il mieux que ton UI soit capable de gérer de multiples cas de layout, et que les données que tu fais transiter par les Intent soient suffisamment riches pour permettre à l'UI de s'adapter

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...