2012-02-18 11 views
8

An Activity może nadymać arbitralny układ xml, który może zawierać element zastępczy Fragment lub nie.Czy jest jakiś sposób, aby Dział wiedział, który fragment został właśnie stworzony?

Jeśli tak, zostanie utworzony egzemplarz Fragment i podłączony do Activity.

Czy istnieje sposób uzyskania odniesienia do Fragment z Activity, która została do niego dołączona?

FragmentManger.findFragmentById() zakłada, że ​​znasz identyfikator z wyprzedzeniem, aby działało, ale w tej sytuacji, którą proponuję, nie jest dostępne.

Zachowanie, które chciałbym mieć idealnie, to to, że Activity jest świadomy, że każdy Fragment dołącza się do niego, aby mógł na nie odpowiedzieć.

Odpowiedz

25

Za każdym razem, gdy fragment jest dołączony do działania, wywoływana jest następująca metoda wywołania zwrotnego z fragmentem dołączonym jako parametr, można go użyć do przechowywania odwołania.

onAttachFragment(Fragment fragment) 

http://developer.android.com/reference/android/app/Activity.html#onAttachFragment(android.app.Fragment)

+0

uggh Jestem ślepy, thx –

+0

cholera, onAttachFragment powie Ci kiedy fragment jest załączony, ale nie powiedzieć, kiedy jest gotowy do pracował tj postu fragment.onActivityCreated() –

+5

dla że możesz mieć wywołanie zwrotne w swoim fragmencie, jak interfejs wewnątrz fragmentu zaimplementowanego przez twoją aktywność ... więc kiedy fragment jest gotowy, możesz wywołać wywołanie zwrotne ... Aby użyć tego, możesz ustawić odwołanie dla działania w onAttachFragment. .. może to również pomóc http://developer.android.com/guide/topics/fundamentals/fragments.html#Communica tingWithActivity – iago

Powiązane problemy