Bonjour,
Je veux onClick() sur le bouton qui se trouve dans l'alert dialog, l'alert dialog ne se ferme pas. J'ai utilisé. Mais l'alert dialog se ferme toujours.Code:adb.setCancelable(false);
Comment je peux le faire?
Version imprimable
Bonjour,
Je veux onClick() sur le bouton qui se trouve dans l'alert dialog, l'alert dialog ne se ferme pas. J'ai utilisé. Mais l'alert dialog se ferme toujours.Code:adb.setCancelable(false);
Comment je peux le faire?
je veux vous donnez deux type d'alert dialogue :
1ère: exemple si vous voulez lorsque vous cliqué sur validé et vous voulez qu'il apparaisse un message "authentification valide" . voilà le code :
2ème: si vous voulez entrer un string à partir de alertdialog . tu déclares un fichier dans le layout :Code:
1
2
3
4 public AlertDialog.Builder ad ; ad = new AlertDialog.Builder(this); puis dans le code de l'evenement de button tu met ad.setMessage("votre msg"); ad.show();
contient un text view et edit text puis dans votre code tu metsCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="15dip" > <TextView android:id="@+id/TextView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Entrer quelque chose ci-dessous :" android:paddingBottom="10dip" /> <EditText android:id="@+id/EditText1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/TextView1" /> </RelativeLayout>
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 LayoutInflater factory = LayoutInflater.from(Modification.this); final View alertDialogView = factory.inflate(R.layout.alertdialog, null); //Création de l'AlertDialog AlertDialog.Builder adb = new AlertDialog.Builder(Modification.this); //On affecte la vue personnalisé que l'on a crée à notre AlertDialog adb.setView(alertDialogView); //On donne un titre à l'AlertDialog adb.setTitle("Entrez le nouveau mot de passe"); //On modifie l'icône de l'AlertDialog pour le fun ;) adb.setIcon(android.R.drawable.ic_dialog_alert); adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {.....} adb.show() ;
merci pour votre explication mais je n'ai pas besoin de faire un alert dialog.
Je l'ai fait déjà. J'ai un bouton dans l'alert dialog. Je veux si les champs sont vides et en cliquant sur ce bouton alert dialog ne se ferme pas.
La ligne colorée en jaune me provoque une erreur lors d'exécution c'est pourquoi je veux le remplacer par une autre méthode qui ne ferme pas AlertDalog au click de ce bouton.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 adb.setNeutralButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { if (db.recherche(livre)!=null) {Toast.makeText(Main.this, "Existant", Toast.LENGTH_LONG).show(); adb.show(); } else{ Toast.makeText(Main.this, edit.getText(), Toast.LENGTH_SHORT).show();} } });
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 adb.setNeutralButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { if (db.recherche(livre)!=null) {Toast.makeText(Main.this, "Existant", Toast.LENGTH_LONG).show(); } else{ Toast.makeText(Main.this, edit.getText(), Toast.LENGTH_SHORT).show();} } }); adb.show();
Vous n'avez pas bien compris mon problème. Je veux que c'est dans cette condition l'alert dialog ne se ferme pas.
Bonjour,
Pour fermer une alertDialog il faut généralement mettre dialog.cancel();
Donc si tu ne le met pas, la fenêtre ne devrait pas se fermer.
Après si cela ne marche pas, tu pourrais faire en sorte de relancer ton alertDialog quand la condition n'est pas remplie. Mais tu ne peux pas le faire au sein même de ta fonction onClick();
Est ce que tu utilises la fonction onCreateDialog ? Je l'ai apprise récemment sur ce site et c'est assez pratique http://developer.android.com/guide/t...i/dialogs.html
Bon je ne sais pas comment empêcher le bouton de l'AlertDialog de fermer l'AlertDialog, par contre ton erreur me semble simple, toi t'as écris ça :
Tu mets adb.show() dans la déclaration d'adb.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 adb.setNeutralButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { if (db.recherche(livre)!=null) { Toast.makeText(Main.this, "Existant", Toast.LENGTH_LONG).show(); adb.show(); } else { Toast.makeText(Main.this, edit.getText(), Toast.LENGTH_SHORT).show(); } } });
Donc forcement ça ne peut pas fonctionner.
Oui je sais. J'ai pu résolu mon problème. L'idée c'est de faire une méthode indépendante pour la création de l'alert dialog et je l'appelle dans le click du bouton.