Wie übermittele ich in Android einen Wert von einem Fragment zum anderen?

8

Ich bin ein Neuling für Fragmente. Ich möchte einen String-Wert von einem Fragment zu einem anderen übergeben. Wie macht man das? Ich habe meine Fragmente auf folgende Weise aufgerufen. Bitte führe mich Schritt für Schritt.

%Vor%     
user3256145 23.04.2014, 16:54
quelle

4 Antworten

27

Sie können etwas wie unten tun,

%Vor%

Um die Daten zu erhalten, machen Sie folgendes:

%Vor%     
Spring Breaker 23.04.2014, 16:59
quelle
5

Wenn Sie Daten von Fragment zu Aktivität senden möchten, können Sie eine Schnittstelle verwenden.

Aber wenn Sie Daten von einem Fragment zu einem anderen Fragment senden wollen, wird es kompliziert. Sie möchten Daten an Aktivität und dann an das andere Fragment senden.

Ich benutze EventBus , um dieses Problem zu lösen. Wie es funktioniert.

  1. Erstellen Sie ein Ereignis-E.
  2. Von Fragment-A registrieren für Ereignisse.
  3. Von Fragment-B veröffentlichen Sie Ereignis-E mit Daten, die Sie übergeben möchten.
  4. Sie würden die Daten in der onEvent () -Methode erhalten, die Sie in Fragment-A geschrieben haben.

Das ist es. Keine Notwendigkeit, eigene Schnittstellen zu schreiben.

Sie können Eventbus auch für die Kommunikation vom Hintergrunddienst oder von Threads zur Aktivität verwenden.

Überprüfen Sie das EventBus HowTo und Repository auch.

    
WonderKid 09.12.2015 19:50
quelle
0

Die Kommunikation von Fragment zu Fragment muss über die übergeordnete Aktivität erfolgen.

FragmentToSendData

%Vor%

ActivityWithBothFragments (dies kann über ViewPager geschehen, oder verwenden Sie die ID Ihres Fragments, verwenden Sie einfach findFragmentById ())

%Vor%

FragmentToReceiveData

%Vor%     
siriD 31.05.2015 04:35
quelle
0
%Vor%     
Jaydeep Dobariya 11.04.2017 06:26
quelle