2012-09-28 17 views
5

Jedes Mal, wenn ich meiner Aktivität ein Fragment anhefte, möchte ich es registrieren, um Ereignisse von der Aktivität zu empfangen. Das ist einfach, weil ich FragmentActivity#onAttachFragment(Fragment) überschreiben kann. Wenn das Fragment aus der Aktivität entfernt wird, möchte ich die Registrierung des Empfangs von Ereignissen aufheben. Ich erwartete, dass es ein onDetachFragment Ereignis gibt, das ich auf ähnliche Weise verwenden könnte, aber ich finde es nicht.Wo ist FragmentActivity # onDetachFragment?

Gibt es einen anderen Weg, um das zu erreichen, was ich versuche? Ich möchte die Registrierung/Aufhebung der Registrierung in der Aktivität beibehalten, anstatt sie in eine Basisfragmentklasse zu verschieben (wo ich einfach onAttach/onDetach verwenden könnte).

+0

ist es besser, die onStart(), onStop() -Methode von Ihrem Fragment zu verwenden. Übergeben Sie einfach getActivity() an Ihre aufrufende Aktivitätsklasse. –

+0

@Anis Es sieht so aus, als ob das die einzige verfügbare Möglichkeit ist. Wenn Sie Ihren Kommentar eine Antwort geben, werde ich es akzeptieren. –

Antwort

0

ist es besser, die onStart(), onStop() -Methode von Ihrem Fragment zu verwenden. Übergeben Sie einfach getActivity() an Ihre aufrufende Aktivitätsklasse.

+0

Können Sie bitte erklären, warum das besser ist? – Laimiux

+0

ist es besser, weil in diesem Stadium das Fragment an seine Elternaktivität gebunden ist. –

+2

Wäre es nicht besser Design für Eltern, um die Listener auf das Fragment vs das Fragment die Hörer vom Elternteil greifen? – Laimiux

Verwandte Themen