2016-09-24 92 views
-2

我正在将活动转换为片段,以便我可以在Android Studio导航抽屉模板中使用它。将活动转换为片段

我已经改变了所有我的活动,以扩展片段,并确保我导入v4支持碎片。

我已经解决了多数认为Android的工作室已经提出的问题......但我真的卡在最后一个问题:

我曾经是在MainActivity(现在称为liveview_fragment.java)片段,它在名为ApplicationController.java的文件中调用一个名为ApplicationController的类。然而,在liveview_fragment调用的ApplicationController行提供了以下错误:

screenshot of error

我是新到Android/java中,大部分我的学习从教程和试验/错误的到来。请有人指出我错过了什么来解决这个问题?

谢谢

+0

可以直接复制并粘贴错误吗? –

+0

您的ApplicationController构造函数需要一个Activity,但是您要传递一个Fragment。 – earthw0rmjim

+0

另外,请发布一些代码,包括ApplicationController的构造函数和创建它的实例的代码。 –

回答

0

您可能需要将一个上下文传递给ApplicationController。与getActivity()getContext()代替this

0

尝试的问题是,liveview_fragment现在是一个Fragment,而不是一个Activity。为了获得托管Activity,您可以拨打getActivity()。这可能会修复错误。

0

总是使用getActivity()方法获取附加活动的上下文,但始终记住一件事:片段稍微不稳定,并且getActivity有时会返回null,因此,请始终检查片段的isAdded()方法通过getActivity()获取上下文之前,请参阅Using context in a fragment