我有扩展Application类的VideoApplication类。我在这个类中创建了我的其他java类的对象,以便我可以通过活动传递它。
public class VideoApplication extends Application {
private Client client;
public Client getClient(){
return client;
}
public void setClient(Client client){
this.client = client;
}
}
我在androidManifest文件中添加了以下行:
android.name=".VideoApplication"
。
但是当我在代码(MainActivity.java)中添加以下行时,应用程序会抛出ClassCastException异常。
VideoApplication appInstance = (VideoApplication)getApplicationContext();
我哪里错了?请帮忙。
答案 0 :(得分:2)
您可能导致ClassCastException。尝试使用getApplication()
而不是getApplicationContext()
:
VideoApplication appInstance = (VideoApplication) getApplication();
因为你真的想要一个Application对象而不是Context对象。
答案 1 :(得分:1)
当然,我迟到了,但
android.name=".VideoApplication
似乎不对。我认为应该是
android:name=".VideoApplication
我希望它不是一个错字。
答案 2 :(得分:0)
您可以尝试在实例上使用getClass()。getName()来查看它实际上是哪种类型,然后进行适当的转换。