1
resposta

[Dúvida] Problema com a AULA: Finalizando o projeto!!!

Talvez você esteja com o mesmo problema que eu tive, então leia com atenção.

Pessoal, não sei bem se não entendi a proposta da adição da nova Task, especificamente na parte de add a imagem, ou se realmente perdi algum ponto da aula que o professor tenha comentado (e olha que eu já assisti ao conjunto das aulas 04 umas 5x). Digo isso porque antes de escrever essa mensagem consegui sim realizar a adição da nova Task como previsto na aula, mas há um GRANDE problema!

Na aula Aula Finalizando o projeto, quando o professor vai adicionar a nova tarefa ele coloca uma URL!!! ou pelo menos o nome da imagem é IGUAL a uma (vejam a imaem abaixo).

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

Assim, fui buscar por uma imagem qualquer na internet para fazer meu teste, mas o app simplesmente travava e só voltava depois de reiniciá-lo.

Ao analisar a mensagem de erro (imagem abaixo) vi que ele não conseguia add porque não encontrava no assets.

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

E de fato o código não pede mais que peguemos uma URL (Image.network) qqr, mas sim a imagem que vem do assets (Image.asset) pra ela poder carregar. (veja imagem)

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

Então, antes de achar que você fez algo errado, como eu estava pensando, veja se você não está tentando add uma url ao invés de uma imagem já presente no assets. Perdi um bom tempo com essa besteira achando que era um erro no código. =P

Problema resolvido, fui procurar sarna pra me coçar...

Resolvi tentar mudar pra Image.asset por Image.network, só pra poder colocar imagens a partir da URL. Então, antes, retirei todas as tasks presentes em taskList pra não ter problemas, mas notei que mesmo a task sendo adicionada em taskList simplesmente nada aparece na tela.

Não era nesse momento que updateShouldNotify deveria fazer o seu papel? Afinal, oldWidget.taskList.length != taskList.length ocorreu, inclusive coloquei um print(taskList); pra ficar olhando a lista ser incrementada, mas deu foi em nada.

Enfim, resolvi um problema, mas encontrei outro. Alguém saberia me dizer o que mais eu deveria fazer para mostrar as tasks?

1 resposta

Valeu por compartilhar amigo!

Sobre o problema das tasks veja se a função updateShouldNotify está sendo chamada corretamente e que a comparação oldWidget.taskList.length != taskList.length está funcionando como esperado.

TAmbém, verifica se a UI está sendo atualizada corretamente após a adição de uma nova task. Você pode precisar usar um StatefulWidget para garantir que a UI seja reconstruída quando a lista de tasks for atualizada.

Abs

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software