1
resposta

Metodo build Flutter 2.5

Na nova versão do Flutter o método Build tem um retorno diferente do mostrado no curso que é null.

@override
  Widget build(BuildContext context) {
    // TODO: implement build
    throw UnimplementedError();
  }

Dessa forma eu não consigo implementar o código mostrado na aula e não é possível eu fazer a mudança na assinatura do método pois é uma sobrescrita.

Como faço pra resolver isso?

1 resposta

Olá Andre.

Esse lançamento do UnimplementedError é normal, isso acontece por que agora o Flutter está usando o Dart null safety, a tipificação ficou mais forte e burocrática.

O método build não pode retornar nulo, e com o null safety implementado no Flutter o seu editor de código irá mostrar erro se tiver retornando null, então para (meio que) burlar isso, quando é implementando os métodos herdados automaticamente o editor já adicionar um código de lançamento de error, pois o método ainda não foi codificado por você e ele não pode ser nulo. (se você verificar encima do código de lançamento, tem um comentário informando para você implementar o build).

Resumindo tudo, é só deletar o throw e construir seu widget normalmente:

/// Antes
@override
Widget build(BuildContext context) {
    // TODO: implement build
    throw UnimplementedError();
}
/// Depois
@override
Widget build(BuildContext context) {
    // Meu código
    return Scaffold(
        appBar: AppBar(
            title: const Text("Meu app")
        ),
        body: const Center(
            child: Text("Olá, Mundo!"),
        ),
    );
}