2
respostas

A value of type 'Object?' can't be assigned to a variable of type 'List<Contact>'.

Acompanhando o módulo de persistência de dados no curso de Flutter, na parte de utilização do FutureBuilder está dando erro no snapshot.data, abaixo o código:

      body: FutureBuilder(
        future: findAll(),
        builder: (context, snapshot) {
          final List<Contact> contacts = snapshot.data;
          return ListView.builder(
            itemBuilder: (context, index) {
              final Contact contact = contacts[index];
              return _contactItem(contact);
            },
            itemCount: contacts.length,
          );
        },
      ),

Crítica da IDE:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Consegui resolver o problema alterando a seguinte linha de código:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

class ContactsLits extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Contacts'),
        backgroundColor: Colors.green[900],
      ),
      body: FutureBuilder(
        future: findAll(),
        builder: (context, snapshot) {
          final List<Contact> contacts = snapshot.data as List<Contact>;
          return ListView.builder(
            itemBuilder: (context, index) {
              final Contact contact = contacts[index];
              return _contactItem(contact);
            },
            itemCount: contacts.length,
          );
        },
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.of(context)
              .push(
                MaterialPageRoute(
                  builder: (context) => ContactForm(),
                ),
              )
              .then(
                (newContact) => debugPrint(newContact.toString()),
              );
        },
        child: Icon(
          Icons.add,
        ),
      ),
    );
  }
}

Valeu por compartilhar a solução conosco, acho que vários alunos vão poder se basear em teu código :)