Ответ 1
Кажется, что элементы Button, Message и Multiple choice являются взаимоисключающими. Попробуйте прокомментировать setMessage, setPositiveButton и setNegativeButton. Не проверял сам.
Мне не удалось установить список "Один выбор" или "Список нескольких вариантов" внутри AlertDialog.
Я пробовал следовать примерам, но я получаю только диалоговое окно с титрами, кнопками "ОК" и "Отмена", без списка, и "НЕТ" (которое я установил!).
Вот код:
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;
}
}
Странно то, что если я прокомментирую часть setSingleChoiceItems, я могу увидеть сообщение в диалоговом окне.
Кажется, что элементы Button, Message и Multiple choice являются взаимоисключающими. Попробуйте прокомментировать setMessage, setPositiveButton и setNegativeButton. Не проверял сам.
этот код работает для меня
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()
Он должен быть массивом, а не тем, который
public void onClick(DialogInterface dialog, int array )