2

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

+0

Ich denke, das kann Ihnen helfen: http://stackoverflow.com/questions/11536166/android-get-activity-returns-null – beeb

+1

Dieser Link kann Ihnen auch helfen: http://StackOverflow.com/Questions/ 14035090/How-to-Existierende-Fragmente-Wenn-Verwenden-FragmentPageradapter :) – GReaper

Antwort

0

Sie können die onAttach(Activity) Methode in Ihrem Fragmente außer Kraft setzen und einen Verweis auf Ihre Tätigkeit dort.

Verwandte Themen