i tried to change new state with Switch widget but it can't be used, in case i create dynamic function and will to used in widget tree's, in function i send callback function at parameter for Switch widget, but in actual it is cannot be used.
code base
import 'package:flutter/material.dart';
import 'package:navigate_app/widgets/main_drawer.dart';
class FilterScreen extends StatefulWidget {
static const routeNamed = '/filter';
@override
State<FilterScreen> createState() => _FilterScreenState();
}
class _FilterScreenState extends State<FilterScreen> {
bool _glutenFree = false;
bool _vegetarian = false;
bool _vegan = false;
bool _lactoseFree = false;
Widget _buildSwitchFilter(String title, String description, bool currentValue,
Function updateValue) {
return SwitchListTile(
title: Text(title),
subtitle: Text(description),
value: currentValue,
onChanged: (val) => updateValue);
}
@override
Widget build(BuildContext context) {
return Scaffold(
drawer: MainDrawer(),
appBar: AppBar(),
body: Column(
children: [
Expanded(
child: ListView(
children: [
_buildSwitchFilter('Gluten-free',
'Only include gluten-free meals', _glutenFree, (newVal) {
setState(() {
_glutenFree == newVal;
});
}),
_buildSwitchFilter(
'Lactose-free',
'Only include lactose-free meals',
_glutenFree,
(newVal) => _lactoseFree == newVal),
_buildSwitchFilter(
'Vegan-free',
'Only include vegan-free meals',
_glutenFree,
(newVal) => _vegan == newVal),
_buildSwitchFilter(
'Vegetarian-free',
'Only include vegetarian-free meals',
_glutenFree,
(newVal) => _vegetarian == newVal),
],
))
],
));
}
}
