答案 0 :(得分:0)
似乎
Widget createListView(BuildContext context, AsyncSnapshot snapshot) {
// ...
children: List.generate(values.length, (index) {
长度错误。
请注意,您的 build 方法可以随时调用(并且在浏览时肯定会被调用)。
因此,您的
getRegister1()
被调用了很多次,因此由于没有提供 HelperDatabase1 后面的代码,因此您需要更多地研究此方法。
(也许这是您的问题...
var catLocal = (await HelperDatabase1().displayDefCatRelation())
var defCatLocal = (await HelperDatabase1().display()) +
cat.add(catLocal[i].c); // maybe this actually saves in your db/cache
但是我不确定 )
您还应注意的另一件事是,应该“以前获得”您的 getRegister1()。 从flutter docs中检查该抓取程序。
FutureBuilder<String>(
future: _calculation, // a previously-obtained Future<String> or null
builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.none:
return Text('Press button to start.');
case ConnectionState.active:
case ConnectionState.waiting:
return Text('Awaiting result...');
case ConnectionState.done:
if (snapshot.hasError)
return Text('Error: ${snapshot.error}');
return Text('Result: ${snapshot.data}');
}
return null; // unreachable
},
)