2013-03-11 15 views
23

Ecco il mio codice che non funziona:Invio Bundle con Frammento Transaction

// L'invio di raggruppare in questo modo:

 String topUser = String.valueOf(scores.get(arg2)); 

     Bundle data = new Bundle(); 
     data.putString("userprofile", topUser); 

     FragmentTransaction t = getActivity().getSupportFragmentManager() 
       .beginTransaction(); 
     SherlockListFragment mFrag = new ProfileFragment(); 
     mFrag.setArguments(data); 
     t.replace(R.id.main_frag, mFrag); 
     t.commit(); 

// Recupero in questo modo:

 Bundle extras = getActivity().getIntent().getExtras(); 
     userName = extras.getString("userprofile"); 

In sostanza, i dati non sono ricevuti. Sono sulla buona strada o c'è un modo migliore per farlo?

risposta

29

Si dovrebbe utilizzare il metodo della classe Fragment. Così si può mettere qualcosa di simile al seguente all'interno del vostro Fragment:

Bundle extras = getArguments(); 

Riferimento: http://developer.android.com/reference/android/app/Fragment.html#getArguments()

+0

Che ha fatto, grazie. – KickingLettuce

+5

solo per chiarire - chiamando 'getActivity(). GetIntent(). GetExtras()' funziona davvero, ma ottieni gli "argomenti" del sottostante 'Activity' e non il' Fragment's :) –

+0

oh! capito ... grazie ancora – KickingLettuce

Problemi correlati