dart – O setState em Flutter não atualiza a pagina

Olá, estou fazendo um curso em Flutter e seguindo o professor, porem chegou uma hora do curso que foi implementado a mudança de estados, porem o setState não atualiza a ListTile, já revisei o código. Sou iniciante em flutter, alguem pode dar um help?

import 'package:flutter/material.dart';
import 'package:flutter_aula_01/models/moedas.dart';
import 'package:flutter_aula_01/repositories/moeda_repository.dart';
import 'package:intl/intl.dart';

class MoedasPage extends StatefulWidget {
  const MoedasPage({Key? key}) : super(key: key);

  @override
  _MoedasPageState createState() => _MoedasPageState();
}

class _MoedasPageState extends State<MoedasPage> {
  @override
  Widget build(BuildContext context) {
    final tabela = MoedaRepository.tabela;
    NumberFormat real = NumberFormat.currency(locale: 'pt_BR', name: 'R$');
    List<Moeda> selecionadas = ();

    return Scaffold(
        appBar: AppBar(
          title: Text("Cripto Moedas"),
        ),
        body: ListView.separated(
          itemBuilder: (BuildContext context, int moeda) {
            return ListTile(
              shape: RoundedRectangleBorder(
                borderRadius: BorderRadius.all(
                  Radius.circular(10),
                ),
              ),
              leading: SizedBox(
                width: 40,
                child: Image.asset(tabela(moeda).icone),
              ),
              title: Text(
                tabela(moeda).nome,
                style: TextStyle(fontSize: 17, fontWeight: FontWeight.w500),
              ),
              trailing: Text(
                real.format(
                  tabela(moeda).preco,
                ),
              ),
              selected: selecionadas.contains(tabela(moeda)),
              selectedTileColor: Colors.indigo(50),
              onLongPress: () {
                setState(() {
                  (selecionadas.contains(tabela(moeda)))
                      ? selecionadas.remove(tabela(moeda))
                      : selecionadas.add(tabela(moeda));
                });
              },
            );
          },
          padding: EdgeInsets.all(15),
          separatorBuilder: (_, __) => Divider(
            height: 12,
            color: Colors.grey(200),
          ),
          itemCount: tabela.length,
        ));
  }
} 

esse é o código.