Aller au contenu

Réutilisation du code


Pierre87

Recommended Posts

Je me demande comment réutiliser simplement mon code, mais je suis bloqué au niveau de l'Activity :/

Dans mon application, j'ai un écran où apparait une image que l'on peut "changer"

Quand on clique sur celle ci, un menu apparait avec plusieurs choix :

- prendre un photo

- choisir une image dans la bibliothèque

- supprimer (si une image a été choisie)

Une fois l'action effectuée, l'image est mise à jour par celle que l'on a prise/sélectionné.

Problème : tout monde code (apparition du menu, ouverture des autres Activity photo/bibliothèque, onActivityResult) se trouve dans mon Activity.

Et comme je veux bientôt rajouter une autre Activity avec cette image que l'on peut "changer", ça va m'obliger à dupliquer le code (berk)

Vous avez une solution ?

J'ai un peu réfléchi, et j'ai pensé à rajouter une Activity intermédiaire "invisible".

Elle est ouverte au moment où on clique sur l'image.

Elle est invisible, et laisse l'Activity précédente visible.

Elle fait apparaitre le menu "prendre photo/sélectionner image/supprimer"

Elle récupère les résultats des autres Activities

Vous en pensez quoi ? C'est possible ?

Lien vers le commentaire
Partager sur d’autres sites

parce qu'elle vont avoir des comportements fondamentalement différents :/

et que j'ai plusieurs éléments de ce type aussi :

- sélectionner une image

- sélectionne un élément dans une liste "à plusieurs niveaux"

- etc ...

en gros, j'ai des composants graphiques (ImageView par exemple) auxquels je veux associer des comportements assez complexes

le problème, c'est que ces comportements sont obligatoirement codés dans une Activity (onActivityResult)

donc, je me demande si on peut avoir une Activity "invisible", que l'on ouvre uniquement quand on clique sur le composant

l'héritage est exclu, car j'ai souvent des Activity très différentes : Activity, MapActivity, ListActivity (oui c'est bizarre :P)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...