Je n'ai pas pu définir une liste à choix unique ou une liste à choix multiples dans un AlertDialog.
J'ai essayé de suivre les exemples, mais je reçois uniquement une boîte de dialogue avec un titre, les boutons Ok et Annuler, et aucune liste, et aucun message (que j'ai défini!).
Voici le code:
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_DELETE_CITY:
CharSequence[] array = {"Red", "Blue", "Yellow"};
return new AlertDialog.Builder(ShowPypData.this)
.setTitle(R.string.city_actions_delete_label)
.setMessage(R.string.city_actions_delete_select_label)
.setSingleChoiceItems(array, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.setPositiveButton(Android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
})
.setNegativeButton(Android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create();
default:
return null;
}
}
La chose étrange est que si je commente la partie setSingleChoiceItems, je peux voir le message dans la boîte de dialogue.
Il semble que Buttons
, Message
et Multiple choice items
S'excluent mutuellement. Essayez de mettre en commentaire setMessage()
, setPositiveButton()
et setNegativeButton()
. Je ne l'ai pas vérifié moi-même.
ce code fonctionne pour moi
final CharSequence[] charSequence = new CharSequence[] {"As Guest","I have account here"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Buy Now")
//.setMessage("You can buy our products without registration too. Enjoy the shopping")
.setSingleChoiceItems(charSequence, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
utility.toast(" "+charSequence);
}
})
.setPositiveButton("Go", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show()