【发布时间】:2021-06-13 18:46:35
【问题描述】:
我在 task_title.dart 页面中遇到了一个问题,onLongPress: longPressCallback, [line 14] 上面写着这个
(错误:参数类型“Function”不能分配给参数类型“void Function()?”。(argument_type_not_assignable at [todoey_flutter] lib/widgets/task_tile.dart:14)
>谁能帮帮我???
file:///Users/mdrubayat/Desktop/Image%206-12-21%20at%209.53%20PM.jpg
这里是代码>>
import 'package:flutter/material.dart';
class TaskTile extends StatelessWidget {
final bool isChecked;
final String taskTitle;
final Function checkboxCallback;
final Function longPressCallback;
TaskTile({required this.isChecked, required this.taskTitle, required this.checkboxCallback, required this.longPressCallback});
@override
Widget build(BuildContext context) {
return ListTile(
onLongPress: longPressCallback,
title: Text(
taskTitle,
style: TextStyle(
decoration: isChecked ? TextDecoration.lineThrough : null),
),
trailing: Checkbox(
activeColor: Colors.lightBlueAccent,
value: isChecked,
onChanged: (newValue) {
checkboxCallback(newValue);
},
),
);
}
}
【问题讨论】:
-
你能分享一下引发错误的代码吗?
-
是的,我已经给出了代码
-
尝试在 longPressCallback 之前添加 () =>
-
我认为问题不在 longPressCallback 上,而在 checkboxCallback 上。该功能是什么样的?如果 newValue 是布尔值,请尝试执行类似 final Function(bool) checkboxCallback;
-
非常感谢@JaimeOrtiz,您的解决方案有效!!!
标签: flutter dart mobile-application