#flutter
#трепетание
Вопрос:
Я пытаюсь использовать Checkboxtile в Flutter. Однако нажатие на нее не изменяет состояние галочки.
Вот код:
bool checkedValue = false;
CheckboxListTile(
title: Text("title text"),
value: checkedValue,
onChanged: (newValue) {
setState(() {
checkedValue = newValue;
});
},
//onChanged: (newValue) { ... },
controlAffinity: ListTileControlAffinity.leading, // <-- leading Checkbox
),
Почему это не работает?
Комментарии:
1.
bool checkedValue = false;
есть ли эта строка в методе сборки?
Ответ №1:
Это может сработать для вас.
class CheckBoxCustom extends StatefulWidget {
@override
_CheckBoxCustomState createState() => _CheckBoxCustomState();
}
class _CheckBoxCustomState extends State<CheckBoxCustom> {
bool checkedValue = false;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: CheckboxListTile(
title: Text("title text"),
value: checkedValue,
onChanged: (newValue) {
setState(() {
checkedValue = newValue;
});
},
controlAffinity:
ListTileControlAffinity.leading, // <-- leading Checkbox
),
),
);
}
}
Комментарии:
1. Я думаю, что я использую аналогичный код. Но все равно ошибка. Позвольте мне создать новый файл и попробовать ваш код.
Ответ №2:
попробуйте это:
-
Создайте bool, т.Е. bool IsChecked= false;
Checkbox( activeColor: Colors.white30, checkColor: Colors.white, value: isCheck, tristate: false, onChanged: (bool isChecked) { setState(() { isCheck = isChecked; }); }, )