2012-05-30 55 views
1

我有一個計時器在OnCreate()之類:致命異常:定時器-0顯示java.lang.NullPointerException

final Timer timer1 = new Timer(); 
timer1.schedule(new TimerTask() { 
    public void run() { 
     sendSMS(); 
    } 
}, 20000); 

的梅索德sendSMS()是這樣的:

private void sendSMS(){ 
    float test2; 
    test2 = reallocation.getAccuracy(); //-> This is the line where logcat says.... NullPointerException 
    .... 
} 

的logcat說:

05-30 18:32:26.962: W/dalvikvm(741): threadid=9: thread exiting with uncaught exception (group=0x4001d5a0) 
05-30 18:32:26.972: E/AndroidRuntime(741): FATAL EXCEPTION: Timer-0 
05-30 18:32:26.972: E/AndroidRuntime(741): java.lang.NullPointerException 
05-30 18:32:26.972: E/AndroidRuntime(741): at com.eljoom.df.ActionGPS.sendSMS(ActionGPS.java:280) 

在搜索網絡後,我相信我需要定時器的處理程序......但我不知道如何實現它。

有沒有人能讓我走上正軌?

+2

'reallocation'爲空? – assylias

+0

什麼是你的重新分配數據類型,你有初始化它嗎? – Grey

+0

我設置重新分配爲位置:位置重新分配=空; – user1404924

回答

1

重新分配是未初始化的,所以它採用空值,默認爲一個對象。

+0

正確的是這個問題,我解決了它:D ...謝謝我關閉了這個問題。 – user1404924

2

我將reallocation設置爲Location:Location reallocation = null; - user1404924 3分鐘前

您設置了reallocation = null。你不能調用重新分配的方法reallocation.getAccuracy();因爲你還沒有obj的實例。

我建議你看看LocationManager類。您可以從那裏請求具體位置的位置來源 http://developer.android.com/reference/android/location/LocationManager.html

+0

以及我有...但我忘了這樣做:reallocation = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);謝謝我在正確的軌道上! :D謝謝 – user1404924

相關問題