2012-07-20 13 views
33

我正在更改我的android手機應用程序以支持平板電腦和手機。爲此,我將我的活動課改爲片段。在我的活動我班有創建爲我下面的應用程序類的一個實例:如何將應用程序對象分成片段類

appCtx = (UnityMobileApp) getApplication(); 

哪裏UnityMobileApp是我的應用程序類。

現在我想在我的片段類中創建相同的實例。你們能幫我解決這個問題嗎?

+1

你必須張貼多一點的代碼片段.Thanks :) – SALMAN 2012-07-20 19:25:35

回答

82

在您的片段中使用appCtx = (UnityMobileApp) getActivity().getApplication();

+0

很酷的人工作...非常感謝:) – 2012-07-20 20:08:16

+0

不客氣。 – biegleux 2012-07-20 20:10:20

+16

請注意,在某些情況下,以上代碼會拋出NPE,因爲它可能會在getActivity()將返回空值的情況下被調用(例如,在例如旋轉中) – Ognyan 2013-07-21 10:34:45

0

正如你從片段努力喲使用應用程序上下文,你不能使用getApplication(),因爲這是不分段類的方法
所以,你首先必須使用getActivity()將返回一個片段活動,以該片段目前有關聯。

在代碼sumup,

,而不是this.getApplication()你必須使用getActivity.getApplication()

更多地瞭解getActivity()android documentation

相關問題