2016-11-16 1 views
0

Ich habe eine Arraylist in einem Fragment, das ich zu einem anderen Fragment übergeben muss. Diese beiden Fragmente gehören zu derselben Containeraktivität. Das ist, was ich gefunden habe, aber anscheinend stimmt etwas nicht damit.Wie kann ich Daten zwischen zwei Fragmenten austauschen, die zur gleichen Containeraktivität gehören?

Dies ist, wie ich die Daten aus Fragment1 bin das Senden:

Bundle b=new Bundle(); 
    b.putStringArrayList("Brands",allBrands); 
    Fragment fragment = new Fragment(); 
    fragment.setArguments(b); 

Dies ist, wie ich die Daten auf Fragment2 zu erhalten bin versucht:

brands = getArguments().getStringArrayList("Brands"); 

Ich verstehe So wird es nicht gemacht. Bitte hilf mir. Ich überprüfte die Frage zur Implementierung von Fragmentlistener. Das ist nicht darüber.

+0

Mögliches Duplikat von [So implementieren Sie OnFragmentInteractionListener] (http://stackoverflow.com/questions/24777985/how-to-implement-onfragmentinteractionlistener) –

+0

Gehen Sie durch den [link] (http://stackoverflow.com/questions/33158378/passing-arreylist-between-fragments-with-parcelable) –

+1

Die [offizielle Dokumentation] (https://developer.android.com/training/basics/fragments/communicating.html) sagt: _ "All Fragment-to -Fragment Kommunikation erfolgt über die zugehörige Aktivität. Zwei Fragmente sollten niemals direkt kommunizieren "_ und erklärt die Idee im Detail. –

Antwort

2

Es gibt wenige verschiedene Arten der Kommunikation zwischen Fragmenten.

1) eine Schnittstelle 2) geteilt Vorl 3) sqlite Datenbank

unter Verwendung von 1) Sie schaffen eine gängige Methode, wo die Information durch die Schaffung beiden Fragmente gelesen werden kann.

mit 2) ist großartig, um die Informationen für immer zu speichern, bis die App überschrieben oder gelöscht wird.

mit 3) das gleiche wie das zweite, aber es hängt von der App ab, ob Sie wirklich eine Datenbank brauchen oder nicht.

Verwandte Themen