簡體   English   中英

Android Fragment:getActivity()從后台返回時返回null

[英]Android Fragment: getActivity() returning null when coming from background

我正在開發一個有活動的android應用程序。 該活動有一個ViewPager,它使用FragmentStatePagerAdapter加載兩個片段。

正在Activity的onResume方法上重新創建此適配器。

該錯誤的出現方式如下:

創建活動后,我將我的應用程序置於后台(使用設備的主頁按鈕),然后打開其他應用程序(特別是那些占用大量內存的應用程序)。 之后,我再次從后台打開我的應用程序。 我在viewPager的一個片段中有這樣的方法:

public void doSomething(){
    if(getActivity() != null) {
        ((HomeActivity) getActivity()).doThings():
    }
}

在調試時,我發現getActivity()方法此時返回null。 因此永遠不會執行“ doThings()”方法。 我還注意到Fragment的視圖已創建。

當我不打開其他應用程序而在后台運行時消耗內存時,我沒有這個問題。

那是溢出內存錯誤嗎? 如果Fragment似乎已正確加載,為什么getActivity()方法返回null?

先感謝您

您可以覆蓋片段中的onAttach(Activity)方法,並在那里獲取對您的活動的引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM