Ich entwickle eine Android-Anwendung, die eine Aktivität hat. Diese Aktivität hat einen ViewPager, der zwei Fragmente mithilfe eines FragmentStatePagerAdapter lädt.Android-Fragment: GetActivity() zurückgeben Null, wenn aus dem Hintergrund
Dieser Adapter wird in der onResume-Methode von Activity neu erstellt.
Dies ist, wie der Fehler angezeigt:
Mit der Aktivität erstellt, habe ich meine App im Hintergrund (Gerät für die Heimtaste) und ich öffne andere Anwendungen (vor allem jene, die viel Speicher verbrauchen). Danach öffne ich meine Anwendung wieder aus dem Hintergrund. Ich habe ein Verfahren wie dieses in eines der Fragmente, die in viewPager sind:
public void doSomething(){
if(getActivity() != null) {
((HomeActivity) getActivity()).doThings():
}
}
Während des Debuggens Ich fand, dass getActivity() Methode an diesem Punkt null zurückgibt. Daher wird die Methode "doThings()" niemals ausgeführt. Ich habe auch bemerkt, dass die Ansichten von Fragment erstellt wurden.
Ich habe dieses Problem nicht, wenn ich keine anderen Anwendungen öffne, die Speicher auf der Hintergrundzeit meiner App verbrauchen.
Ist das ein Überlaufspeicherfehler? Warum gibt die Methode "getActivity()" null zurück, wenn das Fragment korrekt geladen zu sein scheint?
Vielen Dank im Voraus
Ich denke, das kann Ihnen helfen: http://stackoverflow.com/questions/11536166/android-get-activity-returns-null – beeb
Dieser Link kann Ihnen auch helfen: http://StackOverflow.com/Questions/ 14035090/How-to-Existierende-Fragmente-Wenn-Verwenden-FragmentPageradapter :) – GReaper