Android:this.getApplication()返回NULL指针

znq*_*znq 12 android nullpointerexception

我在一个Activity中运行以下行,该行在同一个应用程序中,但在不同的包中:

AppObject appObj = (AppObject)this.getApplication();
// FYI: AppObject is my extension class of Application.
Run Code Online (Sandbox Code Playgroud)

它只返回一个空指针,而当我将它移动到"main"包并从那里运行时,它会按预期返回应用程序引用.

我已经在AndroidManifest.xml中使用完全限定的类名定义了活动,因为它位于另一个包中: <activity android:name="com.foo.bar.TestActivity"></activity>


更新:如下面的问题所示android:name="AppObject",已经在<application>AndroidManifest.xml 的标签中

miv*_*ola 21

调用getApplication()activity的onCreate()方法很重要,而不是在构造函数中.


bha*_*982 5

您需要使用您的类名将应用程序标记更新到 AndroidManifest.xml,该类名是从 Application 扩展而来的,并具有正确的包名称。

<application android:name=".AppObject">
Run Code Online (Sandbox Code Playgroud)


根据应用程序标签谷歌文档,需要维护全局应用程序状态的基类。您可以通过在 AndroidManifest.xml 标记中指定其名称来提供您自己的实现,这将导致在创建应用程序/包的进程时为您实例化该类。

这里

  • 抱歉,我忘了在我的问题中提及这一点。但我的清单中已经包含了这一点。 (2认同)