2015-09-04 14 views

risposta

4

Penso che sia stato fondamentalmente quello di espandere l'ambito del metodo, ma il changelog ufficiale non dice nulla a riguardo.

Come si può vedere nel registro modifiche, è stato rimosso lo void onAttach(Activity) ma ne è stato aggiunto uno nuovo con lo stesso nome e si dice che sia obsoleto nello .

Come richq commentato, lo support version of Fragment sconsiglia anche su Attacco (Attività) e ha un onAttach (Contesto) che può essere utilizzato invece su tutte le versioni di Android direttamente su quelle preistoriche.

Per adattarsi a questa nuova modifiche che è possibile seguire questa procedura:

  • Cambiare il tipo di argomento di callback onAttach Activity-Context. Per ragioni sconosciute, questa modifica comporta il fatto che il metodo onAttach(Context) non viene più chiamato durante il ciclo di vita del frammento.

  • Spostare il codice nel metodo onAttach su onCreate dal momento che viene ancora eseguito.

Con questa modifica, l'applicazione gira per funzionare come prima. Non sono richieste ulteriori istruzioni di importazione.

+1

La [versione di supporto di Fragment] (https://developer.android.com/reference/android/support/v4/app/Fragment.html#onAttach%28android.content.Context%29) sconsiglia anche suAttach (Attività) e ha un onAttach (Contesto) che può essere utilizzato su tutte le versioni Android direttamente su quelle preistoriche. – richq

+0

Modifica la risposta con il tuo commento perché l'ho trovato molto utile. – arodriguezdonaire

+0

"Cambia il tipo di argomento del callback' onAttach' da 'Activity' a' Context'. Per ragioni sconosciute, questa modifica comporta il fatto che il metodo 'onAttach (Context)' non viene più chiamato durante il ciclo di vita del frammento. " Questo mi confonde - intendevi dire "' onAttach (Activity) 'non viene più chiamato durante il ciclo di vita dei frammenti"? – stkent

1

Fino a quando questo cambiamento non si è verificato, un frammento potrebbe essere associato a un'attività. Dopo questo cambiamento, Google può lavorare anche per collegare i frammenti ai Servizi. Qualcosa di simile a come funzionano le chat di Facebook, potrebbero anche avere frammenti che fluttuano al di fuori di un'attività.