[英]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.