【发布时间】:2021-10-01 06:16:00
【问题描述】:
我正在制作一个列表应用程序,其中包含一个项目列表,后跟一个复选框。当我运行该应用程序时,复选框似乎改变了状态。它是非活动的。 我正在使用具有 null 安全性的颤振 sdk 版本 2.12.0。
这是我的代码
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class TaskTile extends StatefulWidget {
const TaskTile({ required this.text});
final Text text;
@override
State<TaskTile> createState() => _TaskTileState();
}
class _TaskTileState extends State<TaskTile> {
bool isChecked = true;
void checkBoxCallBack(bool checkBoxState)
{
setState((){
isChecked = checkBoxState;
});
}
@override
Widget build(BuildContext context) {
return ListTile(
title: Text('This is task',
style:TextStyle(
decoration: isChecked ? TextDecoration.lineThrough:null),
),
trailing: TaskCheckBox(isChecked, checkBoxCallBack),
);
}
}
class TaskCheckBox extends StatefulWidget {
late final bool checkboxState;
final Function toggleCheckBoxState;
TaskCheckBox(this.checkboxState, this.toggleCheckBoxState);
@override
State<TaskCheckBox> createState() => _TaskCheckBoxState();
}
class _TaskCheckBoxState extends State<TaskCheckBox> {
@override
Widget build(BuildContext context) {
return Checkbox(
value:(widget.checkboxState),
activeColor:Colors.lightBlueAccent,
onChanged: (bool? value) {
widget.toggleCheckBoxState;
},
);
}
}
【问题讨论】:
标签: android flutter dart flutter-layout flutter-dependencies