Как отключить определенные параметры в MultiChoiceItems MaterialAlertDialogAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как отключить определенные параметры в MultiChoiceItems MaterialAlertDialog

Сообщение Anonymous »

У меня возникли проблемы с отключением определенных параметров в MaterialAlertDialog при использовании MultiChoiceItems.
Проблема в том, что я могу заставить их отображаться отключенными, но они по-прежнему работают нормально.
Как вы можете видеть на скриншоте, второй вариант выделен серым цветом. Он по-прежнему реагирует на события касания.
Изображение

Код: Выделить всё

public class SettingDialog {

public SettingDialog(@NonNull Context context) {
show();
}

private void show() {

MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context)
.setTitle("Test Dialog")
.setNegativeButton("Cancel", null)
.setPositiveButton("Save", null)
.setMultiChoiceItems(displayNames, checkedItems, (dialog, which, isChecked) -> {
//
});

AlertDialog dialog = builder.create();
dialog.show();

// For disabling certain options from the dialog
ListView listView = dialog.getListView();
listView.post(() -> {
for (int i = 0; i < allItems.length; i++) {
View view = listView.getChildAt(i);
String item = allItems[i];

if (view != null && view instanceof CheckedTextView) {
boolean isEnabled = // false if disabled.
if (!isEnabled) {
view.setEnabled(false);
}
}
}
});
}
}

Основная проблема заключается в том, что view.setEnabled(false), похоже, не предотвращает запуск OnMultiChoiceClickListener для этого элемента. Элемент визуально отключен, но функционально все еще активен.

Подробнее здесь: https://stackoverflow.com/questions/798 ... lertdialog
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»