【问题标题】:How to select single checkbox in default Listview Builder with index in flutter如何在默认 Listview Builder 中选择单个复选框,并在颤动中使用索引
【发布时间】:2020-04-04 10:53:30
【问题描述】:
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 获取数据的动态列表视图,我使用复选框提供数据,并且在特定复选框上,所有复选框都被选中。

【问题讨论】:

    标签: database firebase listview flutter checkbox


    【解决方案1】:

    您需要先创建一个对象的列表,然后您需要将复选框状态更新到列表中并更新状态。

    例如:

    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'];
      }
    }
    

    类文件:

    列出数据数组; // 从 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/

    如有疑问,可以提问。

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 2021-12-29
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      • 2015-02-01
      • 2020-06-13
      • 1970-01-01
      相关资源
      最近更新 更多