Datenaustausch zwischen Fragmenten und Activity in einem TabLayout & Viewpager2

  • Liebe Community,


    ich versuche seid längerem geeignete Tutorials oder ähnliches zu finden, leider ohne Erfolg.


    Mein Problem: Ich habe eine App geschrieben, diese hat eine MainActivity und drei Fragmente. Diese werden mit dem ViewPager2 und eine TabLayout unter Verwendung des TabLayoutMediator's angezeigt. Nun will ich diesen Fragmenten Daten von der MainActivity mit geben und später auch die eingegebenen Daten in den Fragmenten auslesen um diese in einer Speichern-Funktion der MainActivity in der Datenbank zu speichern.


    MainActivity ( Call_Tabs_Add_Acitivity.java )



    Fragment1 ( Call_Fragment_Overview.java )


    PageAdapter ( PageAdapterAdd.java )

    Hier also meine Klassen. Nun wie bereits erwähnt sollen die Felder im Fragment1 gesetzt werden, durch die in der Datenbank enthaltenen Werte. Problem 1 also, das Übergeben dieser Daten von der MainActivity and das Fragment. Sollten die Daten leer sein, so kann man die Felder im Fragment selber ausfüllen. Diese sollen dann ausgelesen werden, wenn auf speichern geklickt wird. Problem 2 also, wie lese ich diese Daten aus und bekomme sie an die MainActivity übergeben. Ich hatte dies bereits mit Bundles probiert, jedoch nicht umgesetzt bekommen. Wäre also Cool wenn mir dabei jemand helfen könnte. Gerne auch gemeinsam im Discord. Problem 3 wäre dann noch, dass Fragment2 (hier nicht aufgeführt) eine Art "Filter-Auswahl" für das Fragment3 ist. Sprich wird im Fragment2 zum Beispiel die Kategorie "Pizza" ausgewählt, so soll in Fragment3 nur die "Pizzen" auswählbar sein. Hier ist also das Problem 3, wie bekomme ich es hin, dass Fragment3 weiß, was in Fragment2 ausgewählt wurde.


    Solltest du bis hier hin gekommen sein, schon mal vielen Dank fürs Durchlesen und deine Zeit! :thumbup:


    P.s. sollte etwas an Infos fehlen, gerne drauf Aufmerksam machen!

Jetzt mitmachen!

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