Gabin Posted February 13, 2011 Share Posted February 13, 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... Link to comment Share on other sites More sharing options...
chpil Posted February 14, 2011 Share Posted February 14, 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 Link to comment Share on other sites More sharing options...
Gabin Posted February 14, 2011 Author Share Posted February 14, 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.