The non-abstract class 'MyApp' is missing implementations for these members?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

https://api.flutter.dev/flutter/widgets/StatelessWidget-class.html#:~:text=A%20stateless%20widget%20is%20a,the%20user%20interface%20more%20concretely.

Hier der simple Code für den Anfang:

import 'package:flutter/material.dart';


void main() => runApp(MyApp());


class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Welcome to Flutter'),
        ),
        body: const Center(
          child: Text('Hello World'),
        ),
      ),
    );
  }
}


Quickfix macht sehr oft gar nichts bei Flutter leider. Man muss selber bissl wissen wo man was nachliest und wir man damit umgeht.

Hatte ich beim Anfang auch sehr Probleme und hab mich gewundert wieso das kein Tutorial so richtig erklärt. Bei Java lernen hat mir immer sehr die API lesen geholfen, aber bei Flutter bin ich erst nicht durchgestiegen, weswegen ich mal auf YouTube ein Video gefunden habe wie ich mit den Fehlermeldungen umgehe.

https://youtu.be/gzVJwBd-oEs

https://youtu.be/lcO7c99FjyU

Diese Videos sind meiner Meinung nach für jeden Anfänger Pflicht. Bin schockiert das es echt nur diese Videos zu dem Thema gibt.

Erläutert zwar nicht alles, aber wenigstens bleibt man nicht immer an der selben Stelle hängen. Schau dir die beiden also mal an.

Bei so einfachen Dingen wie die Build Method musst du einfach mal googeln. Das steht in jedem Beispielcode ;)

----

Mit https://dartpad.dev/? kannst du auch schnell Dart- und Flutter-Code ausführen.

Wäre auch gut wenn du dich einliest wie Flutter aufgebaut ist, mit den Widgets halt usw. gibts auch von Google direkt ein Video auf Youtube zu dem Thema (bzw. zu mehreren Themen). (auch zu dem Thema was überhaupt dieses Context und Build ist usw ;)) https://www.youtube.com/watch?v=rIaaH87z1-g

---

was Build-Method überhaupt ist/macht:

https://api.flutter.dev/flutter/widgets/StatelessWidget/build.html

----

throw ...Error(); wirft einen Fehler ;). Solange du den nicht auffängst und anders bearbeiten willst schmeißt dein Programm halt einen Fehler ;), wie gewollt.

Die Klasse "MyApp" extended, also erweitert die Klasse StatelessWidget, die von Flutter vorgegeben ist.

Jedoch ist die Klasse StatelessWidget abstrakt. Das bedeutet, dass sie Methoden deklarieren kann, die gar nicht implementiert sind, die man aber trotzdem benutzen kann.

Wenn man also von so einer Klasse extended, muss man genau diese Methoden selbst implementieren, also selbst sagen, was sie machen sollen.

Der Quick fix überschreibt automatisch die Methode, um genau dies zu tun. Was dann aber passieren soll, musst du selber sagen. Bisher wurde erstmal ein

throw UnimplementedError();

eingefügt, das Programm stürzt also ab.

Anstelle dessen kannst du deinen Code einfügen. Hier ist ein Tutorial.

Woher ich das weiß:eigene Erfahrung

KayePro0077 
Fragesteller
 23.08.2022, 16:42

Danke für die hilfreiche Antwort!

LG

1