Variablen zwischen Fragments übertragen

H

HerrLehmann

Neues Mitglied
0
Hallo zusammen,

ich sitze gerade an einer Umsetzung meiner App für das Tablet. Dabei arbeite ich mit Fragments. In meinem "Parent-Fragment" lege ich dabei alle Daten zu einem Sportspiel an. Über einen Button rufe ich ein "Child-Fragment" auf, wo ich dann die Mannschaften des Spiels auswähle und die ID der Mannschaft an das Parent-Fragment übergebe.

Hier liegt mein Problem. Die Abfrage onActivityResult im Parent-Fragment funktioniert zwar, ich erhalte die teamId. Wenn ich dann aber das Ergebnis in der Methode onCreateView verarbeiten möchte ist teamId wieder Null.

Hier ist mein Code:

Aufruf des Child-Fragments im Parent-Fragment:

Code:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ChildFragment fragment = new ChildFragment ();
fragment.setTargetFragment(ParentFragment.this, FRAGMENT_CODE);
fragmentTransaction.replace(R.id.parentfragment, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

Übertragung des Ergebnisses von dem Child-Fragment auf das Parent-Fragment:

Code:
teamId = String.valueOf(id);
Intent intent = new Intent();
intent.putExtra("TeamID", teamId);
getTargetFragment().onActivityResult(getTargetRequestCode(), GameActivity.RESULT_OK, intent);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.popBackStack();

Abfrage des Ergebnisses im Parent-Fragment:

Code:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode == FRAGMENT_CODE && resultCode == GameActivity.RESULT_OK) {
            if(data != null) {
                String teamId = data.getStringExtra("TeamID");
                Log.v("ParentFragment", "Data passed from Child fragment = " + teamId);
            }
        }
    }

Das Log gibt mir die richtige teamId aus. Nach der Methode onActivityResult wird dann die Methode onCreateView gestartet. Dort gibt mir die Log-Abfrage dann aber den Wert Null für die teamId aus.

Was habe ich falsch gemacht? Oder gibt es eine andere Möglichkeit, wie ich mein Ziel erreichen kann?

Danke für Rückmeldung.

Gruß
Lars
 

Ähnliche Themen

Tiefkuehlpizza
Antworten
2
Aufrufe
955
Tiefkuehlpizza
Tiefkuehlpizza
M
Antworten
3
Aufrufe
167
moin
M
M
Antworten
2
Aufrufe
864
jogimuc
J
Zurück
Oben Unten