flutter SwitchListTile单击时不更改状态开关



flutter SwitchListTile单击时不更改状态开关

当我只使用开关时,它在没有函数的情况下工作。但是使用功能不起作用

class TestListSwitch extends StatefulWidget {
@override
State<TestListSwitch> createState() => _TestListSwitchState();
}
class _TestListSwitchState extends State<TestListSwitch> {
bool _stateLogin = false;
Widget _buildSwitchListTile(
String title,
String description,
bool currentValue,
Function updateValue,
) {
return SwitchListTile(
title: Text(title),
value: currentValue,
subtitle: Text(
description,
),
onChanged: (value) => updateValue,
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: SafeArea(
child: _buildSwitchListTile('Autorize', 'test', _stateLogin, (value) {
setState(
() {
_stateLogin = value;
},
);
}),
));
}
}

请帮帮我…

以下是工作解决方案:

Widget _buildSwitchListTile(
String title,
String description,
bool currentValue,
Function(bool) updateValue, // changed from Function updateValue
) {
return SwitchListTile(
title: Text(title),
value: currentValue,
subtitle: Text(
description,
),
onChanged: updateValue, // changed from (value) => updateValue
);
}

您的函数未正确传递和调用。

在父窗口小部件中,您还应该添加SetState((来刷新构建窗口小部件函数

最新更新