我正在编写一个android应用程序。
我有一个扩展名为 ApplicationContext 的应用程序的类
当我打这个电话时,它会因类强制执行而爆炸
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
有谁知道为什么会发生这种情况?
谢谢
我正在编写一个android应用程序。
我有一个扩展名为 ApplicationContext 的应用程序的类
当我打这个电话时,它会因类强制执行而爆炸
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
有谁知道为什么会发生这种情况?
谢谢
你有一个名为的类ApplicationContext?坏主意,因为 SDK 中已经有一个同名的类。重命名你的班级。
但无论如何,getApplicationContext()是一种Context返回android.content.Context对象的方法。
如果在队列中,
ApplicationContext appContext = (ApplicationContext) getApplicationContext();
ApplicationContext引用 YOUR class ApplicationContext,那么你会得到一个类转换异常,因为getApplicationContext()它不返回 YOUR 类,它返回一个android.context.Context. 在这种情况下,将行更改为,
android.content.ApplicationContext appContext = getApplicationContext();
因为我看不到你的进口,问题实际上可能是相反的。ApplicationContext指的是android.content.ApplicationContext,并且getApplicationContext()是您的方法,它返回一个your.package.ApplicationContext. 在这种情况下,将行更改为,
your.package.ApplicationContext appContext = getApplicationContext();
我不相信 Android 的ApplicationContext类是公开的,我相信它是 Android SDK 类私有的抽象类。
此外,您将无法将 Context 分配给扩展的 Application 类。你必须扩展Context.