1
resposta

Como salvar o valor de um SwitchListTile

Boa noite, estou desenvolvendo um ToDo Lista para praticar os conhecimentos adquiridos no curso. No meu app eu estou usando um widget Switch para marcar a tarefa como concluída, porém não estou conseguindo salvar a tarefa com a informação de concluído selecionada pelo Switch. No TextField tem o controlador que recebe um TextEditingController, mas como recebo a informação no switch? OBS: Criei uma class component para reaproveitar o campo switch assim como feito na editor.dart e adicionado no formulário como um widget. Podem me auxiliar?

1 resposta

Oi Vinicius, tudo bem?

Você tem toda razão! O Switch não tem um controller. A bordagem que utilizamos dele é a seguinte:

bool valorDoSwitch = false;
...
 body: Center(
          child: Switch(
            value: valorDoSwitch ,
            onChanged: (value) {
              setState(() {
                  // Repare aqui a atribuição do valor novo 
                // do switch para a variável "valorDoSwitch"
                // dessa forma conseguimos um efeito "controller"
                  valorDoSwitch  = value;
              });
            },
            activeTrackColor: Colors.lightGreenAccent,
            activeColor: Colors.green,
          ),
        )

Espero ter conseguido responder a sua dúvida :)

Bom estudo e qualquer dúvida estamos aqui!