Ho alcuni problemi nel passare i dati da un'attività ai frammenti in esso. Ho cercato in giro ma non ho trovato una risposta adatta alla mia situazione. Ho 2 classe frammento denominata CurrentFragment.java
e HistoryFragment.java
. Li inizializzo come schede in un'attività.Come passare i dati dall'attività al frammento
Tab tab = actionBar.newTab()
.setText(R.string.tab_current)
.setTabListener(new TaskitTabListener<CurrentFragment>(
this, "current", CurrentFragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab()
.setText(R.string.tab_history)
.setTabListener(new TaskitTabListener<HistoryFragment>(
this, "history", HistoryFragment.class));
actionBar.addTab(tab);
mi è stato detto di usare setArguments
in attività e getArguments
nei frammenti. Ma in questa situazione come ottengo gli oggetti frammento nell'attività? Non riesco a utilizzare getFragmentManager().findFragmentById()
poiché i frammenti vengono aggiunti a livello di codice.
Inoltre, trovo alcuni post che dicono che posso usare getActivity()
in frammenti per accedere ai dati nel contenitore Attività, ma per me continua a restituire null. Qualcuno ha un esempio funzionante di questo?
fa il getActivity() 'restituisce' 'null' in [onAttach] (http://developer.android.com/reference/android/support/v4/app/Fragment.html#onAttach%28android. app.Attività% 29) metodo? – svenkapudija
Prova a setArguments in TaskitTabListener.onTabSelected(). – faylon
@svenkapudija Sì, ritorna di nuovo in 'onAttach'. – OckhamTheRazor