- Forum-Beiträge: 187
28.11.2021, 20:49:51 via Website
28.11.2021 20:49:51 via Website
Hallo Zusammen.
Ich habe ein neues Projekt, und wie es scheint gibt es viele neue tolle sachen mit Android Studio, so hat es ganz toll Diese Nav_graph erstellt. Diese nutze ich nun auch.
Die Kommunikation zwischen den Fragmenten war doch sehr einleuchtend und ich bin richtig, richtig schnell vorwärts gekommen.
Nun stehe ich aber vor einem Problem, das ich schon mal hatte, und mit riessiegem Aufwand lösen musste, und will nun wissen, wie man es richtig macht,da ich denke das es mit NavGraph etwas einfacher geht, es scheint aber bisher nicht zu funktionieren.
Ich habe ein Fragment, das zwei Benutzer zusammenführen soll, resp. früher war es eine reine App, wo mein Kollege die Gäste im "Restaurant" eingetragen hat, nun sollen sich diese einlogen können mit google Auth.... , um diese zusammenzuführen, hat das Fragment drei Button.
1. Bestehender Benutzer
2. Neuer Eingeloggter User
3. zusammenführen
wenn ich nun auf Button 1 und 2 drücke, geht ein Fragment auf mit einer Liste von Nutzern
binding.newUser.setOnClickListener(view1 -> {
NavHostFragment.findNavController(MainConnectUserToProfile.this)
.navigate(R.id.action_mainConnectUserToProfile_to_mainAllUsers_new);
});
binding.oldUser.setOnClickListener(view1 -> {
NavHostFragment.findNavController(MainConnectUserToProfile.this)
.navigate(R.id.action_mainConnectUserToProfile_to_mainAllUsers_old);
});
Nun das Problem... gibt es da eine art Listener wie onResultActivitylistener in den Fragmenten. den so wie ich das sehe, startet es die erste activity einfach neu wenn ich bestätige .
Wie rufe ich die Liste auf, und kann ein Return senden...
und ich will ja jeweils die zwei nutzer aufrufen
Bundle result = new Bundle();
result.putInt("getOption", showOption);
result.putString(SYNC_AND_CONNECT_ID, ds_benutzer.getKey());
result.putString(SYNC_AND_CONNECT_NAME, ds_benutzer.getname());
NavHostFragment.findNavController(MainAllUsers.this).navigate(R.id.action_mainAllUsers_to_mainConnectUserToProfile2, result);
Das habe ich gefunden:
Communicating with fragments
Pass data between destinations
Pass results between fragments
welches davon ergibt sinn für mich? Vielen dank schonmal in vorraus
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.