Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Erro ao passar o contactDao no _showContactList

Prezados

Estou com problema para passar o contactDao no método showContactList. no dashboard. Reparei que meu projeto e o que baixei disponibilizado no inicio do curso está utilizando StatefulWidget enquanto que na vídeo aula está sendo utilizado StatelessWidget em contact_list.

O erro ocorre onde está em negrito

class Dashboard extends StatelessWidget {

  final ContactDao contactDao;
  Dashboard({@required this.contactDao});
.
.
.
.
.
.
void _showContactsList(BuildContext context) {
  Navigator.of(context).push(
    MaterialPageRoute(
      builder: (context) => **ContactsListState(contactDao: contactDao)**,
    ),
  );
}

Erro

Desde já agradeço a atenção

EDUARDO AGOSTINHO

9 respostas

Bom dia Eduardo, tudo bom?

Então, esse erro está acontecendo por que você não inicializou o parâmetro contactDao no _show contactlist.

o seu código ficaria no seguinte modelo:

class Dashboard extends StatelessWidget {

  final ContactDao contactDao;
  Dashboard({@required this.contactDao});


void _showContactsList(BuildContext context, ContactDao contactDao) {


  Navigator.of(context).push(

        MaterialPageRoute(



builder: (context) => ** ContactsListState(contactDao: contactDao)** ,

 ),

 );

Prezado Luis, boa tarde.

Infelizmente sua sugestão não deu certo, inclusive apresentou erros em outros pontos do código... Eu implementei o trecho de código que você postou no início da classe, logo abaixo de:

class Dashboard extends StatelessWidget {

Desde já agradeço

EDUARDO AGOSTINHO

Bom dia Eduardo.

Vou solicitar para você, o código todo e também os erros que estão dando. Pois só assim conseguiremos então descobrir o que está acontecendo ai.

Qualquer dúvida, estamos a disposição.

Luis, bom dia.

Segue o link para download do meu projeto:

https://drive.google.com/file/d/1OVuZ0odrLW2LBgTOj78mSIYZPDbwBfUX/view?usp=sharing

Desde já agradeço a a atenção.

EDUARDO AGOSTINHO

Boa tarde Eduardo,

Faça o seguinte, coloque o _showContactList para dentro da classe Dashboard. Coloque ele la na linha 52.

Qualquer dúvida, estamos a disposição.

Prezado Luiz, boa noite.

Fiz o procedimento indicado e resolveu o problema mencionado, porém, apareceu outro. Veja a imagem:

Erro FindAll

Agora tenho um erro na função findAll() em contacts_list...

Desde já agradeço a atenção!

EDUARDO AGOSTINHO

Bom dia Eduardo, tudo bom?

Segue o código, para sanar seu problema:

class ContactsList extends StatefulWidget {
  final ContactDao contactDao;
  ContactsList({@required this.contactDao});

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

class ContactsListState extends State<ContactsList> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Transfer'),
      ),
      body: FutureBuilder<List<Contact>>(
        initialData: [],
        //future: Future.delayed(Duration(seconds: 1)).then((value) => findAll()),
        future: widget.contactDao.findAll(),

(restante do código)

Qualquer dúvida, estou a disposição.

Prezado Luis, boa tarde.

Problema resolvido... Muito obrigado pela ajuda!

EDUARDO AGOSTINHO

solução!

Boa tarde Eduardo,

Fico feliz de ter solucionado seu problema.

Qualquer dúvida, estamos novamente a disposição.