gpt4 book ai didi

android - 如何从另一个类访问列表的长度

转载 作者:行者123 更新时间:2023-11-29 05:12:57 26 4
gpt4 key购买 nike

在我正在构建的应用程序中,我添加了人员姓名,您可以在 peopleCheck 属性中看到这些姓名。现在我想制作一个新列表,其中每个人都将包含一个 bool 值,无论他是否在这里。 (此处不存在 false,反之亦然)我声明了一个新列表“chk1”以及为每个人填充的内容默认为 false,并且我想让整个列表与 peopleCheck 列表的长度相同。我该怎么做?我尝试使用“widget.peopleCheck.length()”,但它返回两个错误。1. 在初始化程序中只能访问静态成员。2.表达式的计算结果不是函数,因此无法调用。

提前致谢。

import 'package:flutter/material.dart';

class PersonCheck extends StatefulWidget {
final List<String> peopleCheck;
PersonCheck({Key key, this.peopleCheck}) : super(key: key);
//PersonCheck(this.peopleCheck);

@override
_PersonCheckState createState() => _PersonCheckState();
}

class _PersonCheckState extends State<PersonCheck> {

List<bool> chk1 =List.filled(widget.peopleCheck.length(), false);




@override
Widget build(BuildContext context) {

return Scaffold(
appBar: AppBar(
centerTitle: true,
title: Text(
'People Now',
style: TextStyle(fontSize: 30),
),
),
body: ListView.builder(
itemCount: this.widget.peopleCheck.length,
itemBuilder: (context, value) {
return Card(
color: Colors.amberAccent[200],
elevation: 3,
child: Container(
child: ListTile(
leading: Text(value.toString()),
title: Text(
widget.peopleCheck[value],
),
trailing: Checkbox(
value: chk1[value],
onChanged: (bool val) {}, //(bool val) => setState(() => chk1[value] = val),
),
),
),
);
},
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.check),
),
);
}
}
/*

for (int i=0; i<widget.peopleCheck.length();i++){

}



*/

最佳答案

长度是列表的一个属性,因此您可以这样做:

widget.peopleCheck.length

您收到错误,因为长度不是函数

您需要在构建方法中访问该小部件,您可以这样做:

   List<bool> chk1;

Widget build(BuildContext context) {
chk1 = List.filled(widget.peopleCheck.length, false);

}

关于android - 如何从另一个类访问列表的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59501995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com