Flutter Parameter Übergabe funktioniert nicht

  • Hallo Leute,


    ich bin neu hier im Forum und hoffe, dass ich mein Thread im richtigen Bereich platziert habe.
    Vorab zu meinem Android-Developer Kenntnisse: Ich habe ganz neu, erst Angefangen und zu gleich mit dem ganz neuen Framework "Flutter" (Programmiersprache: Dart) begonnen.


    Ich verstehe leider nicht so ganz, warum mir bei der Parameterübergabe Fehler angezeigt wird.
    Dazu werde ich hier ein Screenshot veröffentlichen und würde mich sehr freuen, wenn Ihr mir hier helfen könntet.
    Habe dazu leider nichts Gescheiteres im Internet finden können.


    In der Zeile 63 hatte ich vorab folgendes stehen:

    Code
    home: const MyApp(title: title),


    Soweit hat diese Zeile funktioniert, jedoch erst danach nicht mehr, als ich eine 2. Parameter übergeben wollte.
    Siehe Code:

    Code
    home: const MyApp(title: title, snapshot.data),


    Die Zeilen 63, 74 und 83 werden bei mir rot markiert, wobei der Fehler aus der Zeile 63 resultiert.
    Ich habe zwischen den Zeilen 74 und 83 meine 1. Version des Konstruktoraufrufs auskommentiert, weil dies auch nicht richtig war.


    Kann mir jemand hierbei Helfen?
    In anderen Programmiersprachen konnte man sehr leicht Parameterübergaben machen, jedoch ist es hier in der Programmiersprache "Dart" einiges verwirrend.
    Vielleicht kann mich da jemand aufklären.


    Bedanke mich im Voraus.


    MfG
    Daniel

  • Hallo Mr. Lion,


    ich bin zwar kein Flutter-Profi, aber da scheint was mit deiner Syntax nicht zu stimmen.


    Beim ersten Argument legst du mit title: title das title Attribut fest.


    Bei dem zweiten Argument steht dann aber einfach snapshot.data, ohne das irgendwas zugewiesen wird. Also irgendwo da muss auf jeden Fall noch ein Doppelpunkt hin.

  • Hallo Robert,


    ich danke für die Antwort.


    Nun ja, du könntest recht haben. Daran habe ich auch schon gedacht aber leider akzeptiert es dort nichts anderes außer "title:" und "key:" ...
    Und welchen Typ/Bezeichner "snapshot.data" dort erwartet oder nicht erwartet, weiß ich leider nicht.
    Habe zig Variationen bereits ausprobiert.

  • Hallo erst mal Willkommen im Forum.


    Ich kenne mich mit Dart leider auch nicht aus, ob du da hier im Forum viel glück damit hast bezweifle ich etwas ,da hier die meisten mit Java oder Kotlin arbeiten.


    Zu deinen Problem ich glaube das es nicht richtig ist title : title also zweimal den gleichen Namen zubennutzene. Der Typ ist bestimmt gross geschrieben da Klassen eigentlich gross geschrieben werden.


    Versuche doch mal einen anderen variablen Namen als titel wenn der Typ schon title heist kann die variable nicht den gleichen Namen haben.
    Das ist zu mindestens in allen sprachen die ich kenne so.
    In dart wird es nicht anders sein.

  • Hallo und danke für die Unterstützung.


    Nun ja, den "title:" kann und darf ich leider nicht weglassen, da ich somit den Titel von Main-Objekt runter in weitere Klassen importiere.
    In der Dokumentation von Flutter wird es genauso gehandhabt. Den Variablen Namen kann ich x-beliebig nehmen - habe es aber bei Standard vorerst belassen.
    Das Problem liegt nicht in der 1. Parameter, sondern eindeutig in der 2. Parameter.
    Denn mit einem Parameter funktioniert alles bestens.


    Grunde genommen hast du recht, denn in anderen Programmiersprachen fahre ich genauso, wie du es beschrieben hast.
    Allerdings sind hier einiges anders. Beispiel: das Schlüsselwort "final" was bei Java und in vielen anderen Programmiersprachen ist, hat nicht die gleiche Wirkung und Funktionalität wie hier in Dart.


    Hm schade, dass hier Flutter nicht so populär ist.
    Kannst du mir ein Forum empfehlen, wo ich mehr Erfolg haben könnte?


    MfG
    Daniel

  • Hallo ich noch mal nein ein anderes forum kenne ich leider nicht.


    Zu deinen Thema das ist ja eine lambda expression ähnlich wie in java, dart ist ja auch aus der Sprache JavaScript entstanten.


    Habe mir mal den Builder angesehen. Hast du mal in die Doku geschaut ob es die Methode MyApp überhaupt mit zwei übergabe Parametern gibt. Ich habe immer nur einen in den Beispielen gesehen. Deshalb schau mal in die docu ob es einen kontrucktor gibt der zu deiner Inszenierung passt überhaupt gibt.


    Das mit titel : title verstehe ich nun auch einigermaßen kannstn des ja bei lambda als key Wert paar verstehen. title ist in deinen Programm bestimmt eine string variable.


    Was ich auch nicht verstehe warum du const MyApp schreibst finde das ini eine exprechen etwas unüblich.


    Mehr kann ich leider nicht dazu sagen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!