将活动转换为片段
问题描述:
我正在将活动转换为片段,以便我可以在Android Studio导航抽屉模板中使用它。将活动转换为片段
我已经改变了所有我的活动,以扩展片段,并确保我导入v4支持碎片。
我已经解决了多数认为Android的工作室已经提出的问题......但我真的卡在最后一个问题:
我曾经是在MainActivity(现在称为liveview_fragment.java)片段,它在名为ApplicationController.java的文件中调用一个名为ApplicationController的类。然而,在liveview_fragment调用的ApplicationController行提供了以下错误:
我是新到Android/java中,大部分我的学习从教程和试验/错误的到来。请有人指出我错过了什么来解决这个问题?
谢谢
答
您可能需要将一个上下文传递给ApplicationController。与getActivity()
或getContext()
代替this
答
尝试的问题是,liveview_fragment
现在是一个Fragment
,而不是一个Activity
。为了获得托管Activity
,您可以拨打getActivity()
。这可能会修复错误。
答
总是使用getActivity()方法获取附加活动的上下文,但始终记住一件事:片段稍微不稳定,并且getActivity有时会返回null,因此,请始终检查片段的isAdded()方法通过getActivity()获取上下文之前,请参阅Using context in a fragment
可以直接复制并粘贴错误吗? –
您的ApplicationController构造函数需要一个Activity,但是您要传递一个Fragment。 – earthw0rmjim
另外,请发布一些代码,包括ApplicationController的构造函数和创建它的实例的代码。 –