Quindi ho qui questo pezzo di codice, sto creando un nuovo frammento e lo sostituisco con un altro frammento. Funziona bene Tuttavia, ho notato che sulla prima riga viene chiamato il costruttore ma non lo sono il onAttach()
, onCreate()
ecc. Se dovessi decommentare la seconda riga, non funzionerà come updateItem(URL)
richiede una visualizzazione Web avviata nella funzione onCreate().Sostituzione di frammenti in un'attività che non chiama onAttach, onCreate, onCreateView, ecc.
DetailViewFragment detailFragment = new DetailViewFragment();
//detailFragment.updateItem(URL);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.displayList, detailFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
Apprezzerebbero qualsiasi aiuto che ottenga quello per lavorare con la seconda riga non commentato.
Credo che onAttach, onCreate, ecc non vengano richiamati fino a quando il frammento non è stato impegnato per l'attività. Quindi dovrebbero essere chiamati sull'ultima riga di quel codice. Documenti Android sul ciclo di vita: http://developer.android.com/reference/android/app/Fragment.html#Lifecycle Hai provato a utilizzare ft.add (...)? –