【发布时间】:2016-12-22 11:42:38
【问题描述】:
我正在开发一个具有活动的 android 应用程序。该 Activity 有一个 ViewPager,它使用 FragmentStatePagerAdapter 加载两个片段。
正在通过 Activity 的 onResume 方法重新创建此适配器。
错误是这样出现的:
创建活动后,我将我的应用程序置于后台(使用设备的主页按钮)并打开其他应用程序(特别是那些消耗大量内存的应用程序)。之后,我再次从后台打开我的应用程序。我在 viewPager 中的一个片段中有这样的方法:
public void doSomething(){
if(getActivity() != null) {
((HomeActivity) getActivity()).doThings():
}
}
在调试时我发现 getActivity() 方法此时返回 null。所以“doThings()”方法永远不会被执行。我还注意到创建了 Fragment 的视图。
当我不打开在我的应用程序的后台时间消耗内存的其他应用程序时,我没有这个问题。
这是溢出内存错误吗?如果 Fragment 似乎已正确加载,为什么 getActivity() 方法返回 null?
提前谢谢你
【问题讨论】:
-
我认为这可以帮助你:stackoverflow.com/questions/11536166/…
-
这个链接也可以帮助你:stackoverflow.com/questions/14035090/… :)
标签: android android-fragments android-activity android-viewpager