getApplicationContext问题

时间:2012-10-27 20:53:51

标签: android

我有扩展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();

我哪里错了?请帮忙。

3 个答案:

答案 0 :(得分:2)

您可能导致ClassCastException。尝试使用getApplication()而不是getApplicationContext()

VideoApplication appInstance = (VideoApplication) getApplication();

因为你真的想要一个Application对象而不是Context对象。

答案 1 :(得分:1)

当然,我迟到了,但

android.name=".VideoApplication 

似乎不对。我认为应该是

android:name=".VideoApplication 

我希望它不是一个错字。

答案 2 :(得分:0)

您可以尝试在实例上使用getClass()。getName()来查看它实际上是哪种类型,然后进行适当的转换。