Intereting Posts

AlertDialog с селектором

Я пытаюсь сделать диалог с селектором, который выглядит примерно так:

AlertDialog с селектором

Я попытался использовать AlertDialog, который содержит ListView, но это дает уродливую черную границу между ListView и нижней серой областью. Я мог бы использовать обычный диалог, но я не хочу строить нижнюю серое пространство вручную.

Я знаю, что я могу подклассировать AlertDialog, но тогда мне также понадобится подклассировать Builder, и в итоге это будет очень много кода для такой небольшой детали. Есть ли опрятный способ сделать это?

Ура,

Solutions Collecting From Web of "AlertDialog с селектором"

Используйте построитель диалогового окна предупреждения, у него есть варианты для этого. Краткий пример:

AlertDialog.Builder adb = new AlertDialog.Builder(this); CharSequence items[] = new CharSequence[] {"First", "Second", "Third"}; adb.setSingleChoiceItems(items, 0, new OnClickListener() { @Override public void onClick(DialogInterface d, int n) { // ... } }); adb.setNegativeButton("Cancel", null); adb.setTitle("Which one?"); adb.show(); 

См. Раздел docs , раздел Добавление списка .

Вы должны использовать следующий код для выбора отдельного элемента. Это рабочий код

 CharSequence colors[] = new CharSequence[]{"View PDF", "Reduce Size", "Delete PDF", "Share PDF"}; AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("Select Option"); builder.setItems(colors, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.e("value is", "" + which); switch (which) { case 0: break; case 1: break; case 2: break; case 3: break; } } }); builder.show();