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

Pra finalizar ...

Eu gostaria de editar o código para que ao clicar no lvl Up ele não ultrapasse o máximo do "nível"

Concluí que devo por condicional para função que é executada no ElevatedButton dentro do onPressed / setState... lá na linha que incrementa o nível

Pretendo usar o parâmetro dificuldade x10 para definir o máximo. Eis que chega o problema.


import 'package:flutter/material.dart';

import 'difficulty.dart';

class Task extends StatefulWidget {
  final String nome;
  final String foto;
  final int dificuldade;

  const Task(
      {super.key,
      required this.nome,
      required this.foto,
      required this.dificuldade});

  @override
  State<Task> createState() => _TaskState();
}

class _TaskState extends State<Task> {
  int nivel = 0;
 int max = dificuldade * 10;

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(8.0),
      child: Stack(),
    );
  }
}

há um erro na definição da minha variável "max" na linnha

int max = dificuldade * 10;

Isso se dá porque não sei como passar o valor dificuldade pra dentro da função sobrescrita. Não consegui passar como parâmetro Gostaria de saber se tem como deixar "dificuldade" global para que seja visto por todos

alguma sugestão de como fazer?

Conseguindo isso posso então por o condicional que impede o "nivel" de ser incrementado quando atingir o "max"

2 respostas
solução!

Problema resolvido.

Fiquei pensando como o app atualiza a tela, aí lembrei que o tal "widget" carrega os dados que eu precisava. Então bastou alterar o setState()

setState(() {

    int nivelMax = widget.dificuldade;
    int max = nivelMax*10;
    if(nivel<max){
        nivel++;
    }
});

tô apanhando do Dart / Flutter mas tá indo

legal colega! valeu por compartilhar!!