2014-04-03 3 views
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); 

같은 위치 업데이트를 요청 그리고 내가

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 

    } 

}; 

을 myLocation에 들어오는 위치 값을 설정하고 그 후 나는 이중 배열에 값을 추가하려고하지만 그것은 나에게 오류와 충돌을 제공합니다 이 시점에서 내 응용 프로그램은

double[] locationData = new double[] {mylocation.getLatitude(), 
             mylocation.getLongitude() }; 
+0

분명히 'mylocation'은'null '입니다. 우리는 왜 그것이 설정되지 않았는지 추측하기에 충분한 정보가있는 곳이면 어디에서도 제공하지 않았습니다. onLocationChanged가 발생 했습니까? – ajb

+0

locationData가 인스턴스화되기 전에 리스너가 첫 번째 업데이트를 가져 오지 않았을 가능성이 있습니까? –

+0

예 아니요 리스너가 업데이트를받지 못했고 데이터를 보내려고했습니다. –

답변

0

는이처럼해야한다 :

위치가 LocationChanged에서 설정 될 때까지는 null입니다.

LocationManager가 GPS 신호를 수신 할 때까지 시간이 걸립니다.

관련 문제