Aller au contenu

[Résolu] AlertDialog qui plante


Gabin

Recommended Posts

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 :

1112308038.jpg

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

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

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

Archivé

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

×
×
  • Créer...