Quelle est la méthode "correcte" pour renvoyer les valeurs à l'activité appelante depuis une boîte de dialogue personnalisée complexe - par exemple, des champs de texte, un sélecteur de date ou d'heure, une série de boutons radio, etc., plus un bouton "Enregistrer" et un bouton "Annuler"?
Certaines des techniques que j'ai vues sur le web comprennent :
-
membres de données publics dans la classe dérivée de la boîte de dialogue qui peuvent être lus par l'activité
-
accesseurs "get" publics . . . " . . " . . "
-
Lancement de la boîte de dialogue avec un Intent (par opposition à show()) plus des gestionnaires dans la classe de la boîte de dialogue qui récupèrent les entrées des différents contrôles et les regroupent pour les renvoyer à l'activité, ainsi lorsque l'utilisateur appuie sur "Enregistrer", le groupe est renvoyé en utilisant ReturnIntent()
-
Écouteurs dans l'activité qui traitent les entrées des contrôles qui se trouvent dans la boîte de dialogue, par exemple, les écouteurs du TimePicker ou du DatePicker sont vraiment dans l'activité. Dans ce schéma, pratiquement tout le travail est effectué dans l'activité
-
Un écouteur dans l'activité pour le bouton "Enregistrer" et ensuite l'activité interroge directement les contrôles dans la boîte de dialogue ; l'activité ferme la boîte de dialogue.
...plus d'autres que j'ai déjà oubliées.
Y a-t-il une technique particulière considérée comme étant correcte ou "meilleure pratique"?