伙计们,我正试图访问方法内部的一个变量,我不得不将这个变量传递给引用方法。这可能吗?
这是我的列表生成器
return ListView.builder(
itemCount: tasks.length,
itemBuilder: (context, index) {
return TaskTile(
nameOfTheTask: tasks[index].nameOfTheTask,
isChecked: tasks[index].taskStatus,
onTaskCompleted: (checkBoxState) {
setState(() {
tasks[index].updateTaskStatus();
});
},
);
},
);
我想将onTaskCompleted附近的回调替换为引用方法。
onTaskChangedReference(checkBoxState) {
setState(() {
tasks[index].taskStatus =
!tasks[indexOfTheTaskTile].taskStatus;
});
}
但我需要使用索引变量,有什么方法可以做到这一点吗。
实现这一点的一种方法是创建这样的方法:
onTaskChangedReference(int index) {
return (checkBoxState) {
setState(() {
tasks[index].taskStatus =
!tasks[indexOfTheTaskTile].taskStatus;
});
}
}
所以现在在你的ListView.builder
中,你可以这样引用它:
...
onTaskCompleted: onTaskChangedReference(index),
...