2015-09-04 3 views

Antwort

4

Ich denke es ist im Grunde gewesen, den Umfang der Methode zu erweitern, aber die offizielle changelog sagt nichts darüber.

Wie Sie im Changelog sehen können, haben sie die void onAttach(Activity) entfernt, aber sie haben eine neue mit dem gleichen Namen hinzugefügt, und es heißt, dass in der veraltet ist.

Als richq kommentiert, die support version of Fragment auch deaktiviert onAttach (Activity) und hat eine onAttach (Context), die stattdessen auf allen Android-Versionen direkt zurück zu prähistorischen verwendet werden kann.

auf diese neue Veränderungen anzupassen Sie diese Schritte folgen:

  • Ändern Sie den Argumenttyp von onAttach Rückruf Activity-Context. Aus unbekannten Gründen führt diese Änderung dazu, dass die Methode onAttach(Context) während des Fragmentlebenszyklus nicht mehr aufgerufen wird.

  • Verschieben Sie den Code, der in onAttach Methode war onCreate eins, da es noch ausgeführt wird.

Mit dieser Änderung wird die App wie zuvor ausgeführt. Es sind keine zusätzlichen Importanweisungen erforderlich.

+1

Die [Unterstützungsversion von Fragment] (https://developer.android.com/reference/android/support/v4/app/Fragment.html#onAttach%28android.content.Context%29) gibt auch aufAttach (Activity) und hat einen onAttach (Context), der stattdessen auf allen Android-Versionen bis hin zu prähistorischen verwendet werden kann. – richq

+0

Ich werde die Antwort mit Ihrem Kommentar bearbeiten, weil ich es sehr nützlich gefunden habe. – arodriguezdonaire

+0

"Ändern Sie den Argumenttyp von' onAttach' Callback von 'Activity' in' Context'. Aus unbekannten Gründen führt diese Änderung dazu, dass die Methode 'onAttach (Context)' nicht mehr während des Fragmentlebenszyklus aufgerufen wird. " Das verwirrt mich - wolltest du sagen "OnAttach (Aktivität)" wird nicht mehr während des Fragmentlebenszyklus aufgerufen? – stkent

1

Bis zu dieser Änderung konnte ein Fragment nur an eine Aktivität angehängt werden. Nach dieser Änderung kann Google auch daran arbeiten, Fragmente an Services anzuhängen. So wie Facebook-Chat-Köpfe funktionieren, könnte das Fragment auch außerhalb einer Aktivität schweben.

Verwandte Themen