Aller au contenu

[RESOLU]Action à effectuer après la fermeture d'un Dialog


Hhugues

Recommended Posts

Bonjour,

Cela fait quelques jours maintenant que je n'arrive pas à réousdre un problème tout bête, mais dont je ne trouve pas de solution évidente.

Voici le contexte :

On est sur l'écran de sélection (on s'en fout de quoi) et à un moment on clique sur un bouton qui lance un

public class NouvelleEntree extends Dialog  implements OnClickListener

Donc en gros on a une fenêtre de dialogue qui est lancée. Par la suite l'utilisateur va rentrer deux choses dans les textView prévus à cet effet. Une fois cette tâche effectuée il va cliquer un bouton sauvegarder et le tout va être enregistré dans une base SQL.

Mais là où ça se corse c'est que juste après la fermeture de cette boîte de dialogue j'ai besoin de mettre à jour l'activity qui a créé le dialog. Et là je bloque... Quand le Dialog est créé elle ne se met pas en pause à ma connaissance (enfin dites moi si je me trompe), donc pas de onResume(), onStart() de configurable. Je ne peux pas utiliser de choses en static. Il faudrait donc que je trouve un moyen de détecter la fermeture de cette boîte de dialogue et de mettre à jour juste après.

Merci pour votre aide !

PS : c'est sûrement très facile

Modifié par Hhugues
Lien vers le commentaire
Partager sur d’autres sites

Je comprends pas trop ton probleme...

Tu n'as pas un bouton 'OK' ( ou dans ton cas 'Sauvegarder' ) avec du code dedans que tu appelles quand tu as fini de bosser avec ta dialog box ?

Tu ne peux pas appeler une methode de l'activité dans le onClick de ta dialog ?

Ou sinon, tu as aussi la possibilité de rajouter un dismiss listener, et/ou un cancel listener si tu as aussi des choses à gérer dans le cancel...

J'ai du rater quelque chose, car je ne comprends pas pourquoi tout ca ne te suffit pas ?

Emmanuel

Lien vers le commentaire
Partager sur d’autres sites

@Alocaly : Hhugues veut rafraîchir l'Activity qui a appelé la Dialog au click sur le bouton :o

Comme le dit Alocaly, tu peux récupérer le parent de la Dialog au click du bouton (OK ou Cancel) et appeler des fonctions de celui-ci avec :

getParent()

(http://developer.android.com/intl/fr/reference/android/view/ViewParent.html#getParent%28%29)

Ca te convient peut-être mieux vus que tu ne veux pô faire beaucoup d'Activity

Après ya plusieurs solutions :

  • Faire plusieurs Activity mais faire peu d'action dedans (mais c'est plus propre)
  • Regrouper les fonctions (pour éviter la duplication de code notamment)
  • Faire les 2 précédemment cités (C'est le mieux:p)
Lien vers le commentaire
Partager sur d’autres sites

sinon plus simple avec un lambda:

Si ton activity est Toto et le button qui l'a fait apparaitre a l'id buttonalacon, et que toto a un fonction refresh pour se raffraichir

dans le OnCreate

Button bt = (Button) findmachin(R.id.buttonalacon);

bt.setOnClickListener(new OnClickListener(){

void onClick(){

Dialog xxx = new Dialog(){

..... le code de ton dialog

void dismiss(){

Toto.this.refresh();

}

};

}

});

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...