【发布时间】:2019-12-07 20:26:24
【问题描述】:
现在我做了这样的代码
FutureBuilder(
future: getData2(),
builder: (context, snapshot) {
if (snapshot.hasData) {
List data = snapshot.data;
return ListView.builder(
shrinkWrap: true,
itemCount: data.length,
itemBuilder: (context, index) {
final item = data[index];
return Dismissible(
key: Key(item['loc3']),
onDismissed: (direction) {
setState(() async {
await openData2().then((value) {
value.delete(
'test2',
where: 'loc3 = ?',
whereArgs: ['loc3'],
);
});
});
},
child: ListTile(
title: Text(item['loc3']),
),
);
},
);
但是当我关闭一个项目时
控制台中有一些注释“引发了另一个异常:setState() 回调参数返回了 Future。”
在 setState 我不返回任何变量
他们为什么这样说?
当我第一次删除一个项目时,会出现更多细节错误
在通知 AnimationController 的侦听器时引发以下断言:
I/flutter (6018):setState() 回调参数返回一个 Future。
I/flutter (6018):PositionedTilesState#6d110 上的 setState() 方法是使用闭包或方法调用的,
I/flutter (6018):返回一个 Future。也许它被标记为“异步”。
I/flutter (6018):不是在 setState() 调用中执行异步工作,而是先执行工作(没有
I/flutter(6018):更新小部件状态),然后在调用 setState() 时同步更新状态。
I/flutter(6018):抛出异常时,这里是栈:
【问题讨论】:
标签: flutter