我一直在尝试将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
。
任何人都可以告知错误吗?
答案 0 :(得分:1)
super.getApplicationContext()
正在返回null
,因为PageMonitorApplication
是应用程序上下文。您应该检查getApplicationContext
是否返回null
,如果是,请使用您已有的Context
。
要获得对PageMonitorApplication
的引用,请在当前getApplicationContext
或Activity
(或您可能拥有的其他Service
)上致电Context
。
答案 1 :(得分:0)
在任何活动中,您可以使用 getApplicationContext()直接访问 ApllicationContext 对象。不需要使用Application类创建和试验。