The application has a list with drop-down items, as shown in the figure:

The fact is that according to business logic, it is impossible to select more than one checkbox in one of the lists. How can you make such a condition?
Here is the class code that the drop-down list forms:
class _EntryItemState extends State<EntryItem> { //TODO: Сделать условие для выбора только ОДНОГО чекбокса Entry entry; _EntryItemState(Entry entry){ this.entry = entry; } Widget _buildTiles(Entry root) { if (root.children.isEmpty) return new Column( children: <Widget>[ new CheckboxListTile( title: new Text( root.title, style: new TextStyle(fontSize: 14.0), ), value: root.isChecked, onChanged: (bool value) { setState(() { root.isChecked = value; charactToList(root); }); }, ), new Divider(height: 16.0, indent: 0.0), ], ); // return new Divider(); return new ExpansionTile( key: new PageStorageKey<Entry>(root), title: new Text(root.title), children: root.children.map(_buildTiles).toList() ); } @override Widget build(BuildContext context) { return _buildTiles(entry); } void charactToList (Entry root){ if(root.isChecked){ character.add(root.title); } if(!root.isChecked){ character.remove(root.title); } } } Here is the class code for the Entry object:
class Entry { Entry(this.isChecked, this.title, [this.children = const <Entry>[]]); final String title; List<Entry> children; bool isChecked; } 