ListView onTap回调不工作颤振
我有一个小部件ListView onTap回调不工作颤振,listview,flutter,Listview,Flutter,我有一个小部件WeekdayCell,用于构建列表视图。当选择调用小部件的onTap时,使文本改变颜色的所有逻辑都正常工作,但从ListView执行的onTap:和ONTACancel:回调不会像我那样执行 点击单元格时在控制台中获取任何打印。你能看出我做错了什么吗? 一如既往,非常感谢您的时间和帮助 小部件: class WeedayCell extends StatefulWidget { String day; bool isSelected; Function onTap;
WeekdayCell
,用于构建列表视图。当选择调用小部件的onTap时,使文本改变颜色的所有逻辑都正常工作,但从ListView执行的onTap:
和ONTACancel:
回调不会像我那样执行
点击单元格时在控制台中获取任何打印。你能看出我做错了什么吗?一如既往,非常感谢您的时间和帮助 小部件:
class WeedayCell extends StatefulWidget {
String day;
bool isSelected;
Function onTap;
Function onTapCancel;
WeedayCell(
{@required this.day,
@required this.isSelected,
@required this.onTap,
@required this.onTapCancel});
@override
List<Object> get props => [day, isSelected];
@override
_WeedayCellState createState() => new _WeedayCellState();
}
class _WeedayCellState extends State<WeedayCell> {
@override
Widget build(BuildContext context) {
return Container(
child: new Column(
children: [
new ListTile(
selected: widget.isSelected,
title: Text(
'${widget.day}',
style: TextStyle(
color: widget.isSelected == false
? Colors.black
: Colors.redAccent,
fontSize: 20,
fontWeight: FontWeight.w500),
),
onTap: () {
setState(() {
widget.isSelected == false ? widget.onTap : widget.onTapCancel;
widget.isSelected = !widget.isSelected;
});
},
)
],
),
);
}
}
你忘记加括号了。widget.onTap和widget.onTapCancel提供对函数的引用。要调用/执行它,您需要编写:
widget.isSelected == false ? widget.onTap() : widget.onTapCancel();
绝对地我自己也看不到。我想我应该休息一下。哈哈。非常感谢!
widget.isSelected == false ? widget.onTap() : widget.onTapCancel();