2013-09-19 5 views
0

Я пытаюсь сделать приложение, которое занимает место и отправляет эти данные, все было в порядке до 10 минут назад. Теперь я получил ошибку, и я не мог найти, что это такое. Любая помощь, спасибо ...java.lang.NullPointerException Ошибка При попытке получить местоположение

Некоторые из моих кодов ниже ...

... 
... 
    Location mCurrentLocation; 

private final static int 
     CONNECTION_FAILURE_RESOLUTION_REQUEST = 9000; 
LocationClient mLocationClient; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button b = (Button) findViewById(R.id.button1); 
    b.setOnClickListener(this); 
    /* 
    * Create a new location client, using the enclosing class to 
    * handle callbacks. 
    */ 
    mLocationClient = new LocationClient(this, this, this); 
} 



... 
... 


    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     TextView tv = (TextView) findViewById(R.id.textView1); 
     mCurrentLocation = mLocationClient.getLastLocation(); 
     tv.setText("slm"+mCurrentLocation.getLatitude()); 
    } 

И ошибка я получаю ...

09-19 10:58:10.320: E/AndroidRuntime(1542): FATAL EXCEPTION: main 
09-19 10:58:10.320: E/AndroidRuntime(1542): java.lang.NullPointerException 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at com.example.testapplication.MainActivity.onClick(MainActivity.java:186) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at android.view.View.performClick(View.java:2538) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at android.view.View$PerformClick.run(View.java:9152) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at android.os.Handler.handleCallback(Handler.java:587) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at android.os.Handler.dispatchMessage(Handler.java:92) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at android.os.Looper.loop(Looper.java:130) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at android.app.ActivityThread.main(ActivityThread.java:3693) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at java.lang.reflect.Method.invoke(Method.java:507) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
09-19 10:58:10.320: E/AndroidRuntime(1542):  at dalvik.system.NativeStart.main(Native Method) 
+0

MainActivity.java:186 - где 186 строк в MainActivity – x90

+0

это \t tv.setText ("slm" + mCurrentLocation.getLatitude()); – makkuzu

+1

mCurrentLocation имеет значение null или tv равно null, вы должны проверить оба значения – x90

ответ

1

Спасибо, ребята, за вашу помощь в активации службы определения местоположения Google решила мою проблему.

+0

Вы активировали через locationClient.connect()? –

+0

Нет, из настроек вручную. – makkuzu

1

Проверка на нуль, прежде чем установить широта мест в TextView. Вы не можете быть уверены, что getLastLocation() возвращает действительное местоположение Объект немедленно, потому что это неблокирующий вызов.

@Override 
public void onClick(View arg0) { 
    // TODO Auto-generated method stub 
    TextView tv = (TextView) findViewById(R.id.textView1); 
    mCurrentLocation = mLocationClient.getLastLocation(); 
    if(mCurrentLocation != null) 
     tv.setText("slm"+mCurrentLocation.getLatitude()); 
} 
+0

ok mCurrentLocation имеет значение null, так как я его исправлю? – makkuzu

+0

Вы вызываете requestLocationUpdates() в свой код? –

Смежные вопросы