Как установить один флажок в Listview Builder по умолчанию с индексом во флаттере - PullRequest
0 голосов
/ 11 декабря 2019
Checkbox(
  checkColor: Colors.red,
  activeColor: Colors.white,
  onChanged: (bool value) {
    dataOfArray.add(arrayOfId);
    var n = dataOfArray.indexOf(arrayOfId);
    print("data$n ---OfArray${dataOfArray}---${[arrayOfId]}");
    setState(() {
      //                        if (_checkboxval) {
      //   setState(() {
      //     _checkboxval = false;
      //   });
      // }else {
      //   setState(() {
      //     _checkboxval = true;
      //   });
      // }
      if (
          //dataOfArray[n]== arrayOfId
          dataOfArray.indexOf(arrayOfId) != -1) {
        this._checkboxval = value;
        print("dataOf///////////Array$dataOfArray");
      }
      // else this._checkboxval=value;
    });
  },
  //value: arrayOfId[''],
  value: this._checkboxval,
);

Здесь я пытаюсь выбрать один флажок проверки в построителе списка по умолчанию.

Но он устанавливает все флажки в созданный построитель списка. Пожалуйста, помогите, если вы столкнулись с этим типом ошибки.

В этом я беру динамический просмотр списка данных с использованием FireBase в этом конкретном списке, я даю данные с флажком и на конкретном флажке все флажки выбраны.

1 Ответ

0 голосов
/ 11 декабря 2019

Сначала необходимо создать список объектов, затем необходимо обновить статус флажка в списке и обновить статус.

Например:

Класс PODO:

class ObjectClass {
  int id;
  bool checkBoxStatus;

  Users({this.id, this.checkBoxStatus});

  Users.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    checkBoxStatus = json['check_box_status'];
  }
}

Файл класса:

Список dataOfArray;// инициализировать ваши данные из API или любого другого

Checkbox(
    checkColor: Colors.red,
    activeColor: Colors.white,
    onChanged: (bool value) {

    setState(() {
    dataOfArray[arrayOfId].checkBoxStatus = value;
    });
    },

    value: dataOfArray[arrayOfId].checkBoxStatus,
    )

Доступен полный пример: http://codesfor.in/flutter-listview-with-checkbox/

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...