Gabin Posté(e) 13 février 2011 Share Posté(e) 13 février 2011 Bonsoir, Je viens de m'apercevoir que lorsque j'affichais mon alertDialog, que je la fermais et que je souhaitais la ré-afficher, mon appli plante ! Voici l'erreur dans le logcat : Et mon code : public class Main extends Activity { Button btnInfo; AlertDialog.Builder alertInfoBuilder; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); alertInfoBuilder = new AlertDialog.Builder(this); alertInfoBuilder.setView(alertInfoView); alertInfoBuilder.setTitle("Informations sur l'application"); alertInfoBuilder.setIcon(R.drawable.logo2b); btnInfo = (Button)findViewById(R.id.btn_apropos); /* Début : Déclaration des listener spinners */ btnInfo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { alertInfoBuilder.show(); } }); Voilà un petit bout de mon code. J'espère que vous pourrez me dire que faire car je cherche depuis un petit moment... Merci à vous :emo_im_kissing: eh eh... Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 14 février 2011 Share Posté(e) 14 février 2011 Ben, il te dit d'appeler removeView... ;) Plus sérieusement, il est plus simple de laisser faire Android pour la gestion des dialogs d'une Activity, quand on veut les afficher, les cacher, etc... Pour ce faire, il faut implémenter onCreateDialog et utiliser showDialog/dismissDialog/removeDialog pour manipuler les-dites Dialogs public class Main extends Activity { private static final int MON_DIALOG_ID = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btnInfo = (Button)findViewById(R.id.btn_apropos); btnInfo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // On demande l'affiche de notre dialog showDialog(MON_DIALOG_ID); } }); } protected Dialog onCreateDialog(int id) { Dialog dlg; switch (id) { case MON_DIALOG_ID: { AlertDialog.Builder alertInfoBuilder = new AlertDialog.Builder(this); // Paramétrage du dialog alertInfoBuilder.setTitle("blah blah"); // ... // Création du dialog dlg = alertInfoBuilder.create(); break; } default: dlg = null; } return dlg } } Ensuite, utilise éventuellement dismissDialog(MON_DIALOG_ID) ou removeDialog(MON_DIALOG_ID) pour cacher/supprimer le dialog (si le dialog ne gère pas le bouton back par défaut) Et si tu veux ajouter un autre dialog dans ton Activity, il suffit d'un case supplémentaire dans le onCreateDialog, et le showDialog qui va bien avec Lien vers le commentaire Partager sur d’autres sites More sharing options...
Gabin Posté(e) 14 février 2011 Auteur Share Posté(e) 14 février 2011 Ah en effet ! Rapide et efficace comme réponse, comme d'habitude ! Je dois avouer que le onCreateDialog est plutôt puissant comme méthode :lol: Je me coucherais encore moins bête ce soir ! Et pour couronner le tout, je faire un post pour mon appli dans la section Vos applications car elle est enfin .... en ligne !!! Bonne journée à toi Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.