1

oncreate() に次のようなタイマーがあります。

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)

ネットを検索した後、タイマーのハンドラーが必要だと思います...しかし、それを実装する方法がわかりません。

誰かが私を正しい軌道に乗せることができますか?!

4

2 に答える 2

2

再割り当てを Location: Location reallocation=null; として設定しました。– user1404924 3分前

再割り当て =null を設定します。reallocation のメソッド reallocation.getAccuracy(); を呼び出すことはできません。obj のインスタンスがまだないためです。

LocationManager クラスをご覧になることをお勧めします。そこから特定のロケーション ソース http://developer.android.com/reference/android/location/LocationManager.htmlを使用してロケーションをリクエストできます。

于 2012-05-30T17:13:33.333 に答える
1

再割り当ては初期化されていないため、オブジェクトのデフォルト値である null 値を取ります。

于 2012-05-30T18:44:35.193 に答える