2012-05-18 84 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