Изменить вкладку в TabBarView

У меня есть TabBarView, одна из вкладок - ListView, мне нужно при клике на элемент ListView менять этот ListView на другой виджет, я написал callback-функцию, она вроде срабатывает - меняет переменную, но почему-то внешне ничего не меняется. В чем может быть мояй ошибка? Заранее спасибо) Класс с TabBarView:

class StationState extends State<Stations> {
  Widget secondWidget;


  @override
  Widget build(BuildContext context) {
secondWidget = Styles(
    onStyleTap: () => setState(() {
      secondWidget = Favorites();
      print('kill me');
      print(secondWidget);
    }));


return DefaultTabController(
  length: 3,
  child: Scaffold(
    backgroundColor: Color(0xFF000000),
    appBar: AppBar(
      title: HeaderLogo(),
      backgroundColor: Color(0xFF000000),
      bottom: TabBar(
        indicatorColor: Colors.white,
        tabs: [
          Tab(
            text: 'Favorites',
          ),
          Tab(
            text: 'Styles',
          ),
          Tab(
            text: 'Networks',
          ),
        ],
      ),
    ),
    body: TabBarView(children: [
      Favorites(),
      secondWidget,
      Networks(),
    ]),
  ),
);

} }

Класс с ListView:

class StylesState extends State<Styles> {
  final VoidCallback onStyleTap;

  StylesState({this.onStyleTap});

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.only(top: 10),
      child: ListView.builder(
        itemCount: stylesList.length,
        itemBuilder: (context, position) {
          return GestureDetector(
              onTap: () => onStyleTap(),
              child: Card(
                color: Color(0xFF000000),
                child: Container(
                  height: 40,
                  child: Text(
                    stylesList[position].title,
                    style: TextStyle(color: Colors.white, fontSize: 18),
                  ),
                ),
              ));
        },
      ),
    );
  }
}

Ответы (0 шт):