Vor der API 23 habe ich die onAttach-Methoden von Fragments verwendet, um meine Listener-Instanz abzurufen, dann wird die Referenz in onDetach bereinigt. ex:onAttach (Aktivität) veraltet: Hier kann ich prüfen, ob die Aktivität die Callback-Schnittstelle implementiert
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mListener = null;
try {
mListener = (SellFragmentListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement SellFragmentListener");
}
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
Ist es sicher, die gleiche Prüfung innerhalb onAttach (Context Kontext) oder gibt es eine bessere Art und Weise zu tun, um die Halter Aktivitätsinstanz zu bekommen?
'onActivityCreated'? – mbmc
Normalerweise mache ich diese Art von Ding auf 'onResume()'/'onPause()', besonders wenn der Listener alles tut, was die UI betrifft. –
@tibo Ich denke, dass onActivityCreated nicht aufgerufen wird, wenn ein Fragment zu einer bestehenden Aktivität hinzugefügt wird. –