扩展Android应用程序时的空指针

时间:2011-11-06 13:36:01

标签: android nullpointerexception android-context applicationcontext

我一直在尝试将Application扩展为获取Application Context对象的快速方法。我有一个类似的课程:

public class PageMonitorApplication extends Application
{
    @Override
    public Context getApplicationContext()
    {
        return super.getApplicationContext();
    }
}

我的清单包括:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:name=".PageMonitorApplication">

但是,在创建PageMonitorActivity的实例并调用getApplicationContext()时,我会得到一个空指针异常。在eclipse中调试并检查PageMonitorActivity的实例时,我可以看到base=null

任何人都可以告知错误吗?

2 个答案:

答案 0 :(得分:1)

super.getApplicationContext()正在返回null,因为PageMonitorApplication 是应用程序上下文。您应该检查getApplicationContext是否返回null,如果是,请使用您已有的Context

要获得对PageMonitorApplication的引用,请在当前getApplicationContextActivity(或您可能拥有的其他Service)上致电Context

答案 1 :(得分:0)

在任何活动中,您可以使用 getApplicationContext()直接访问 ApllicationContext 对象。不需要使用Application类创建和试验。