L'API indique que la boîte de dialogue d'alerte peut comporter un, deux ou trois boutons, mais le SDK ne prévoit qu'un bouton positif et un bouton négatif. Comment puis-je alors ajouter un troisième bouton ?
Réponses
Trop de publicités?
ninjasense
Points
5934
Lorsque vous créez le dialogue, ajoutez quelque chose comme ceci au constructeur :
builder = new AlertDialog.Builder(context);
builder.setTitle("Test");
builder.setIcon(R.drawable.icon);
builder
.setMessage("test");
builder.setPositiveButton("Call Now",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder.setNeutralButton("Setup",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
context.startActivity(new Intent(context, Setup.class));
//dialog.cancel();
}
});
builder.setNegativeButton("Exit",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
Cet extrait de code devrait vous aider à expliquer les trois différents boutons que vous pouvez utiliser :
alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Dialog Button");
alertDialog.setMessage("This is a three-button dialog!");
alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Button 1 Text", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//...
} });
alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Button 2 Text", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//...
}});
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "Button 3 Text", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//...
}});
Oded Breiner
Points
1852
Ajouter tout nombre de boutons sans xml :
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Title");
builder.setItems(new CharSequence[]
{"button 1", "button 2", "button 3", "button 4"},
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
switch (which) {
case 0:
Toast.makeText(context, "clicked 1", 0).show();
break;
case 1:
Toast.makeText(context, "clicked 2", 0).show();
break;
case 2:
Toast.makeText(context, "clicked 3", 0).show();
break;
case 3:
Toast.makeText(context, "clicked 4", 0).show();
break;
}
}
});
builder.create().show();