2017-12-28 15 views
1

Ich bin ziemlich fest. Ich möchte Benutzereingaben aus den Feldern unter von einem Fragment, CarDetailsFragment zu einem anderen Fragment ConfirmationFragment übergeben. Ich möchte auch die Zustände der Checkboxen übergeben (ob aktiviert oder deaktiviert). Freundlich helfen.Übergeben mehrere Werte von einem Fragment zum anderen

enter image description here

+0

https://developer.android.com/training/basics/fragments/communicating.html – FWeigl

+0

Verwenden Sie Bundles für das –

+0

Verwenden Sie 'Schnittstelle', um zwischen Fragmenten zu kommunizieren – R2R

Antwort

0

Verwenden POJO-Klasse für dieses ..

Auf gesendet ...

YourNewFragment ldf = new YourNewFragment(); 
Bundle args = new Bundle(); 
args.putExtra("DATA", POJO_MODEL); 
ldf.setArguments(args); 

// aufpumpen das Fragment getFragmentManager(). Begintransaction(). Add (R. id.container, ldf) .commit();

Auf Empfang ...

POJO_MODEL pojo_model = POJO_MODEL_CAST)getArguments().getSerializable("DATA"); 
1

Verwenden Bundle String senden:

// den Wert Put

YourNewFragment ldf = new YourNewFragment(); 
    Bundle args = new Bundle(); 
    args.putString("YourKey1", "YourValue"); 
    args.putString("YourKey2", "YourValue"); 
    ldf.setArguments(args); 

// das Fragment aufpumpen

getFragmentManager().beginTransaction().add(R.id.container, ldf).commit(); 

In onCreateView des neuen Fragmen t:

// Empfängt den Wert

String value = getArguments().getString("YourKey"); 

Duplicate

0

Daten senden mit Bundle als:

Bundle bundle = new Bundle(); 
bundle.putString("key", "value"); 
// set Fragmentclass Arguments 
CarDetailsFragment carDetailsFragment = new CarDetailsFragment(); 
carDetailsFragment.setArguments(bundle); 

//replace fragment 
FragmentTransaction transaction = getFragmentManager().beginTransaction(); 
transaction.replace(R.id.fragment_container, carDetailsFragment); 
transaction.addToBackStack(null); 
transaction.commit(); 

und in CarDetailsFragment Klasse onCreateView() Methode:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    String value = getArguments().getString("key");  
    return inflater.inflate(R.layout.fragment, container, false); 
} 
-1

Was ich empfehlen würde, ist eine Bibliothek wie EventBus zu verwenden.

Es ist sehr leicht und wird Ihr Leben viel einfacher machen. Bitte überprüfen Sie die Seite, die ich oben verlinkt habe.

Alles, was Sie tun müssen, um eine Veranstaltung zu posten, und Sie erstellen diese Veranstaltungen in der gesamten App abonnieren.

Verwandte Themen