2013-04-17 9 views
5

Hinzufügen habe ich die folgenden Zeilen in meinem Codeein Bündel zu einem Fragment von einem FragmentActivity

FragmentManager fm = getSupportFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction(); 
ft.replace(R.id.fragment_content, fragment, fargmentTag); 

nun ein Bündel meiner Fragment hinzufügen ich will. Wie kann ich das machen ?

Antwort

4

Bevor ft.replace(R.id.fragment_content, fragment, fargmentTag); die folgende Zeile:

fragment.setArguments(bundle).

+0

wie kann ich empfangen sie am anderen Ende – user1730789

+1

@ user1730789: getArguments() wird abrufen das Bündel Sie oben gesetzt. – hwrdprkns

0

Vor dem Aufruf replace nur hinzufügen fragment.setArguments(bundle)

6

Try this:

überall in Ihrer FragmentActivity Klasse, setzen diese:

MyFragmentClass mFrag = new MyFragmentClass(); 
Bundle bundle = new Bundle(); 
bundle.putString("DocNum", docNum); //parameters are (key, value). 
mFrag.setArguments(bundle); 

getSupportFragmentManager().beginTransaction().replace(R.id.page_fragments, mFrag).commit(); 

Ich bin mit „import android.support.v4.app .FragmentActivity; "also benutze ich" getSupportFragmentManager() ". Um den obigen Code zusammenzufassen, haben Sie eine Bundle-Instanz und eine Instanz Ihres Fragments erstellt. Dann haben Sie die beiden Objekte mit "mFrag.setArguments (bundle)" verknüpft. Jetzt ist das "Bundle" mit dieser Instanz Ihrer MyFragmentClass verknüpft. Also überall in Ihrem MyFragmentClass, abrufen das Bündel durch den Aufruf:

Bundle bundle = getArguments(); 
String mDocNum = bundle.getString("DocNum"); 
Verwandte Themen