String calculateDistanceMetric(double loclat, double loclong)
{
Log.i("Metric", String.valueOf(loclat));
Log.i("Metric", String.valueOf(loclong));
Location destloc = new Location(provider);
destloc.setLatitude(loclat);
destloc.setLongitude(loclong);
Log.i("Metric", "1");
if (calcloc.distanceTo(destloc) > 100) ////////here is where the code breaks
{
Log.i("Metric", "2");
float round = calcloc.distanceTo(destloc);
Log.i("Metric", "3");
DecimalFormat df = new DecimalFormat("##.#");
Log.i("Metric", "4");
distanceUnit = "KM";
Log.i("Metric", "5");
return String.valueOf(round/1000);
}
else
{
Log.i("Metric", "6");
distanceUnit = "Meters";
Log.i("Metric", "7");
return String.valueOf(calcloc.distanceTo(destloc));
}
}
nullpointerexception을받는 이유는 무엇입니까? loclat 및 loclong의 값이 유효하고 destloc이 초기화되었는데 이것이 왜 충돌을 일으키는 지에 대한 아이디어가 없어졌습니다. 두 점 사이의 거리를 계산하는 다른 방법을 제안 할 수도 있습니다. (이미 거리 사이를 알고 있습니다.)calcloc.distanceTo() null 포인터 예외 발생
어디에서 'calcloc'을 정의하고 선언 했습니까? – user370305
LogCat 출력에서 예외 StarckTrace를 게시하여 오류가 정확히 어디인지 확인하십시오. – iTech
내가 그것을 선언했다는 것을 확신한다. –