2012-02-18 16 views
8

Un Activity può gonfiare un layout xml arbitrario che può contenere o meno un segnaposto Fragment.Esiste un modo per un'attività per sapere quale frammento è stato appena creato?

In caso affermativo, il Fragment verrà istanziato e collegato allo Activity.

C'è un modo per ottenere un riferimento allo Fragment dal Activity che è stato collegato ad esso?

FragmentManger.findFragmentById() presuppone di conoscere l'ID in anticipo per farlo funzionare ma in questa situazione che sto proponendo, non è disponibile.

Il comportamento che mi piacerebbe avere è che il è a conoscenza di qualsiasi Fragment s allegandosi ad esso in modo che possa rispondere ad esso.

risposta

25

Ogni volta che un frammento viene collegato a un'attività, viene richiamato il seguente metodo di richiamata con il frammento allegato come parametro, è possibile utilizzarlo per memorizzare il riferimento.

onAttachFragment(Fragment fragment) 

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

+0

uggh Sono cieco, thx –

+0

accidenti, onAttachFragment ti dice quando il frammento è attaccato, ma non vi dico quando è pronto per essere lavorato con IE posta fragment.onActivityCreated() –

+5

per che puoi avere un callback nel tuo frammento come un'interfaccia all'interno del frammento implementato dalla tua attività ... quindi quando il frammento è pronto puoi chiamare il callback ... Per utilizzarlo puoi impostare il riferimento per l'attività in onAttachFragment. .. questo potrebbe anche aiutare http://developer.android.com/guide/topics/fundamentals/fragments.html#Communica tingWithActivity – iago

Problemi correlati