当前位置: 首页 > 知识库问答 >
问题:

Android片段:getActivity()从后台返回null

韶镜
2023-03-14

我正在开发一个android应用程序,它有一个活动。该活动有一个ViewPager,它使用FragmentStatePagerAdapter加载两个片段。

正在活动的onResume方法上重新创建此适配器。

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

那是内存溢出错误吗?为什么getActivity()方法在片段似乎被正确加载的情况下返回null?

提前谢谢你

共有1个答案

翁昊乾
2023-03-14

您可以在片段中重写onAttach(Activity)方法,并在那里获取对活动的引用。

 类似资料:
  • Android片段中的和有什么区别?在片段中调用时,的行为有什么不同?

  • 因此,我一直试图在我的应用程序中实现一个特性,其中所有帖子都将被列出到中的中。但是,每当我访问时,它将返回null。

  • 在Android中,当我们用一个新的片段替换容器视图时,我们可以使用replace()和addToBackStack(),因此按下back按钮就可以转到上一个片段。 但如果出现以下情况怎么办: 在Activity1中,我可以按下back按钮从fragment2转到fragment1。但当fragment2启动另一个活动时,从Activity2按下back按钮,它会将我带到Activity1中的fr

  • 在我片段中,我从图库中选择了照片 在manifest.xml中 在此之前,我的应用程序显示权限对话框。我按允许 此处请求权限对话框:

  • 我在活动C中有四个片段,它们的行为就像标签一样。我必须从一个片段转到一个新的活动X。现在我想回到从活动X到片段的片段。 这是我的主要活动 '公共类MainInterface扩展了ActionBarActivity{ } ' 下面是活动视图中的公共类讨论。onclick侦听器{ ###

  • 我有一个包含框架布局的活动,片段A托管在这里与一起。 此片段A托管了另外两个包含回收器视图的片段——使用< code > fragmentstatepageradar 的片段A1和片段A2。此时,我能够在片段A1和A2中使用< code > getSupportFragmentManager()获得父片段。 单击A1和A2中的回收器视图项会产生另一个片段,比如片段B,它会替换片段A并将其添加到ba