2012-05-18 81 views
0

我目前工作的一个Android应用程序和,我用它几乎每次百思不得其解显示java.lang.NullPointerException,我得到了一个错误。大多数时候,它不会崩溃的应用程序,但它仍然是沮丧的是我看到这个错误。我以为我做了检查,但我可能是错的。谢谢您的帮助!相关代码如下。 (因为if声明外的线扔NullPointerException这是相关的。)在Android应用

Activity activity;  

if(activity == null) 
{ 
    activity = new Activity(); 
} 

Intent intent = new Intent(activity, Service.class); 
+0

我想你忘记了if语句中的分号。 – Hidde

+4

这不是真正的代码,甚至没有编译 –

回答

0

你应该张贴一些周围的代码,但你的问题是,创造新Intent需要一个有效的Context。通常你的Activity(或ServiceBroadcastReceiver)类中创建一个Intent所以你可以这样做:

Intent intent = new Intent(this, Service.class); 

偶尔你会在其他地方建立它并将它传递有效Context,但你应该非常从来没有通过直接调用构造函数来创建Activity。还有很多其他初始化需要使它有用。

+0

我最初并没有以这种方式实例化,它在别处实例化,我只是使用'activity = new Activity()'作为更多的检查。有人抛出空指针异常,所以我想如果我甚至给了它一个空的活动,那么就不会抛出错误了。我显然是错的,但我不认为Service.class可能是问题的原因。 – NSchulze