2016-04-11 24 views
0

Szenario ist: Ich habe zwei Fragmente FragmentA und FragmentB. In FragmentA habe ich ein einfaches Formular und in FragmentB zeige ich Daten dieses Formulars in ListView an.senden Daten von einem Fragment in Listenansicht in einem anderen Fragment zu zeigen

Ich erhalte Daten in Listview, aber nicht in Echtzeit. Wie zuerst füge ich Daten ein, dann starte ich Application neu, um Daten in der Liste zu sehen.

Meine Frage ist, wie man Änderung von einem Fragment zu einem anderen in Echtzeit benachrichtigen kann.

+1

Mögliches Duplikat von [So übergeben Sie Daten zwischen Fragmenten] (http://stackoverflow.com/questions/5194548/how-to -pass-data-between-fragments) –

+0

Überprüfen Sie dies: http://stackoverflow.com/questions/36363185/receiving-data-from-a-dialogfragment-if-youre-calling-from-an-activity-vs-a- -fra/36363310 # 36363310 –

Antwort

0
you can use listener in your activity and then notify: 
class MyActivity extends Activity { 
FragmentA fragA; 
FragmentB fragB; 

public void notifyB() { 
    fragB.notifyB(); 
} 

class FragmentA extends Fragment{ 
private void notifyB(){ 
    ((MyActivity) getActivity()).notifyB(); 
} 
class FragmentB extends Fragment{ 
    public notifyB() { 
     // do something 
    } 
} 
+0

Natürlich ist es besser zu definieren, Schnittstelle, aber Sie verwenden es mit dem gleichen Mechanismus –

0

Nachdem die Variable der FragmentTransaction Einstellung können Sie wie folgt vorgehen:

Bundle bundle = new Bundle(); 
bundle.putString("flag", variable)// You can pass Strings, Int, Boolean. 
//The "flag" is the key to get the value in the other fragment. 
//The variable is wat you need to pass to the other fragment. 

In Ihrem neuen Fragment können Sie Ihre lebensfähig erhalten wie folgt aus:

Bundle bundle = new Bundle(); 
String a = bundle.getString("flag"); 
// now you have te value in the variable a 

dies in Eclipse funktioniert

Verwandte Themen