Все флажки выбираются в списке, а не только один в кодовом имени один

Я создал свой собственный класс Renderer, и я делаю что-то вроде

MyClass extends Container implements ListCellRenderer

Я добавил несколько надписей TextAreas с CheckBox в этот класс... и установил в качестве средства визуализации "Список"

Итак, мой код для initListModel:

@Override
protected boolean initListModelReceiptLineList(List cmp) {
    cmp.setRenderer(new RendererPOReceiptList(receiptLineList));
    //valid data in receiptLineList
    cmp.setModel(new DefaultListModel(receiptLineList));
    return true;
}

Все работает нормально, даже данные также устанавливаются в ярлыках и текстовых сообщениях. Работает хорошо на устройстве и в эмуляторе.

Но проблема в том, что, когда я выбираю первый флажок, все флажки выбраны..

Кто-нибудь есть идеи, пожалуйста,

Спасибо,

Акаша

1 ответ

Рендерер не имеет состояния, поэтому вы не должны устанавливать флажок, вы проверяете модель. Ваш рендерер должен выбрать значение флажка для каждого рендерера.

Все это может быть сложным делом, поэтому я бы не советовал создавать свой собственный и вместо этого использовать MultiList (или просто добавлять флажки в контейнер).

Другие вопросы по тегам