0
我想將位置值添加到雙精度數組中,但它給了我nullpointerexcetion。我請求位置更新,這樣將雙精度值添加到雙數組時出錯
if (buttonView.isChecked()) {
if (!manager
.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
mylocation = manager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
location_checked = true;
} else {
manager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 5000, 0,
listener);
location_checked = true;
}
}
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
5000,0, listener);
然後,我設置的傳入位置值myLocation
LocationListener listener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
mylocation = location;
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
};
之後,我嘗試將值添加到雙數組,但它給我的錯誤和崩潰我在這一點上的應用程序
double[] locationData = new double[] {mylocation.getLatitude(),
mylocation.getLongitude() };
很顯然'mylocation'是'null'。你們沒有提供足夠的信息讓我們猜測它爲什麼沒有被設定。你確定'onLocationChanged'發生了嗎? – ajb
在locationData被實例化之前,可能偵聽器沒有得到它的第一次更新? –
是沒有聽衆沒有得到任何更新,我試圖發送數據 –