Делаем приложение. Тесты с ответами. Итак исходные данные я получаю по Json (локально) Разбираю их. Вывожу их с помощью ListView.builder. Проблема заключается в том что при нажатии на радиокнопку она не загорается. Какая то проблема при переключении, т.е. не загорается радиокнопка выбранного ответа. Что то мне говорит проблема где то в этих строчках (onChanged:...)

https://forumupload.ru/uploads/001a/a6/8d/4/t52005.png
https://forumupload.ru/uploads/001a/a6/8d/4/t69898.png
https://forumupload.ru/uploads/001a/a6/8d/4/t54198.png
https://forumupload.ru/uploads/001a/a6/8d/4/t88638.png


Выкладываю код:

Код:
class MyTickets extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return MyTicketsState();
  }
}

class MyTicketsState extends State<MyTickets> {



  final Future<List<Ticket>> waitingData = () async {}();

  Future<List<Ticket>> getTicketsFromJson(BuildContext context) async {
    String jsonString = await DefaultAssetBundle.of(context)
        .loadString('json/question_set.json');

    List<dynamic> questionnaires =
        (jsonDecode(jsonString) as Map)['questionnaires'] as List;

    return questionnaires
        .map((dynamic rawTicket) => Ticket.fromJson(rawTicket))
        .toList(growable: false);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: SafeArea(
            child: FutureBuilderWrapper<List<Ticket>>(
      future: getTicketsFromJson(context),
      onSuccess: (BuildContext context, List<Ticket> items) {
        return ListView.builder(
          shrinkWrap: true,
          itemCount: items?.length ?? 0,
          itemBuilder: (context, i) {
            Ticket ticket = items[i];

            return Column(
              children: <Widget>[
                SafeArea(child: Text(ticket.question)),

                Container(
                  child: Image.asset(ticket.picture),
                ),
                Container(
                  child: (ListView.builder(
                    shrinkWrap: true,
                    itemCount: ticket.answers.length,
                    itemBuilder: (context, i) {
                      return Column(
                        children: <Widget>[
                          Align(
                              alignment: Alignment.centerLeft,
                              child: RadioListTile(
                                groupValue: ticket.questionNumber,
                                value: ticket.answers[i],
                                onChanged: (newVal) => setState(() {
                                  ticket.questionNumber = newVal;
                                  //print(index);
                                  //print(ticket.answer);
                                }),
                                activeColor: Colors.blue,
                                title: Text(ticket.answers[i]),
                              ))
                        ],
                      );
                    },
                  )),
                )

                //Text(ticket.answers[i])
              ],
            );
          },
        );
      },
    )));
  }
}

void main() {
  runApp(MaterialApp(
    debugShowCheckedModeBanner: false,
    home: Scaffold(
        appBar: AppBar(
          title: (Text('Билеты')),
        ),
        body: MyTickets()),
    //home: Question();
  ));
}