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

Como preencher os editTexts dos contacts

Eu criei a logica para editar e excluir os contatos, então na lista de contatos quando clico passo o Contact e tento preencher os campos na tela do form mas so consigo preencher os labelText , os textos so consigo colocar valores fixo por exemplo final TextEditingController _nameController = TextEditingController(text: 'nome do contato'); mas precisava que fosse dinâmico final TextEditingController _nameController = TextEditingController(text: contact.name);como isso é feito geralmente?

2 respostas

Então eu consegui fazer isso retirando o final e modificando a inicializacao das variaveis para dentro do construtor , mas nao sei se essa é a boa pratica

TextEditingController _nameController; TextEditingController _accountNumberController;

final ContactDao _contactDAO = ContactDao(); _ContactFormState(this.contact) { _nameController = TextEditingController(text: contact.name); _accountNumberController = TextEditingController(text: contact.accountNumber); }

solução!

Genial João!!!!

Gostei de ver irmão! ta de parabéns! Adorei a iniciativa.

Quanto as boas práticas eu vou de dar umas dicas para sempre que você tiver nesse dilema, você poder se resolver. Sempre se pergunte:

  • Se alguém que não conhece o código visse isso, iria ficar confuso?

    No caso do seu caso a alteração foi pequena e simplificada, então ta certinho

  • Se a minha aplicação vai rodar milhares de vezes, ela está leve?

    No caso da sua aplicação, você roda uma tela de formatação por vez, portanto não tem perigo de puxar memoria demais!

  • Se minha aplicação vai rodar poucas vezes ela é rápida?

    Ele busca os nomes no DB, de forma rápida? Se sim, perfeito nada a alterar!

  • Por fim, preciso criar um novo arquivo para manter a organização do meu projeto?

    Como sua alteração foi pequena e indolor, não precisa !

Concluindo, você fez um ótimo trabalho amigo. Claro que sempre existem outras maneiras de fazer o que você fez, mas enquanto tudo está funcionando e sendo inteligível, não há porque se preocupar :)