【发布时间】:2022-08-21 01:37:08
【问题描述】:
我正在尝试制作一个待办事项应用程序。我在卡片视图中创建对象,但是当我第一次启动应用程序时按下它们上的删除图标时,它们不会删除对象,它们的行为就像我单击了卡片并给出了此错误。在后面的,只有红色的短文本。
Expanded(
child: ListView.builder(
itemCount: allTodo.length,
itemBuilder: (context, index) {
return Card(
child: ListTile(
onTap: () {
if (allTodo[index].ID == null) {
print(\"id is null, cant perform add operation\");
return;
}
_controllerTitle.text = allTodo[index].title;
clickedTodoID = allTodo[index].ID!;
setState(() {});
},
title: Text(allTodo[index].title),
trailing: GestureDetector(
onTap: () {
if (allTodo[index].ID != null) {
_deleteTodo(allTodo[index].ID!, index);
setState(() {});
} else {
print(\"id is null, cant perform Delete operation\");
}
},
child: Icon(Icons.delete),
),
),
);
},
),
),
todo.dart
class Todo {
int? ID;
late String title;
Todo(this.title);
Todo.withId(this.ID, this.title);
Map<String, dynamic> toMap() {
var map = Map<String, dynamic>();
map[\"ID\"] = ID;
map[\"title\"] = title;
return map;
}
Todo.fromMap(Map<String, dynamic> map) {
this.ID = map[\"ID\"];
this.title = map[\"title\"];
}
}
标签: flutter dart dart-null-safety