1
resposta

Não consegui buscar os dados do estado atual

O "front" do desafio eu até consegui, mas eu não entendi como funciona para buscar os dados do contexto atualizado do nível.

AppBar(
        toolbarHeight: 90,
        title: Column(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: [
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceAround,
              children: [
                const Text("Tarefas"),
                IconButton(
                  onPressed: () {
                    setState(() {

                    });
                  },
                  icon: const Icon(Icons.refresh),
                ),
                //
              ],
            ),
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceAround,
              children: [
                 SizedBox(
                  width: 200,
                  child: LinearProgressIndicator(
                    color: Colors.white,
                    value: 0,
                  ),
                ),
                Text("Nivel: $level"),
              ],
            ),
          ],
        ),
      ),

Até tentei fazer uma função para somar os níveis para depois aplicar a lógica, mas quando eu busco o nível ele sempre busca o nível inicial (zero), não consegui buscar o nível sempre que atualiza.

int somarNiveis(){
    int difficultySum = 0;
    for (var element in taskList) {
      difficultySum += element.nivel;
    }
    return difficultySum;
   }

Tentei de várias formas acessar o nível atual utilizando o TaskInherited.of(context).taskList, mas não consegui de nenhuma forma, poderia postar a resolução do exercício ou ensinar como faz pra pegar o nível atualizado?

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

1 resposta

Oi Jefferson!

Sem problemas meu querido você quase conseguiu!

Não tenho tanta certeza do que você errou pois não sei aonde está sua função somarNiveis(), então pode ser que eu esteja enganado quanto a resolução do seu problema:

O que pode estar acontecendo é que o valor de niveis está sendo zerado sempre que você o chama!

Você pode compartilhar seu cogido com a gente? Assim eu consigo avaliar todo o funcionamento, lembrando que no Github é o melhor c:

Enquanto isso, para resolver o challenge, você pode se inspirar na resolução dos outros alunos! Solução do Marcelo Solução do Hiago

Em todos os casos, é essencial que você crie uma variavel na sua tela inicial que vai receber os valores dos niveis do inheritedWidget, mas o local onde você inicializa a variavel pode ser crucial para funcionar! (Ex.: Se você colocar a variavel dentro de um build ela sempre volta pra 0)