如何解决空指针异常

时间:2019-06-20 14:45:49

标签: android location

我正在使用下面的代码获取经度和纬度值的当前位置

LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    Criteria criteria = new Criteria();

    assert locationManager != null;
    Location location1 = locationManager.getLastKnownLocation(Objects.requireNonNull(locationManager.getBestProvider(criteria, true)));
    Geocoder geocoder=new Geocoder(getBaseContext(), Locale.getDefault());
    List<Address> addresses;

    try {
        addresses=geocoder.getFromLocation(Objects.requireNonNull(location1).getLatitude(),Objects.requireNonNull(location1).getLongitude(),1);
        if(addresses.size()>0){
            location.setText(addresses.get(0).getLocality());
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

当我运行该应用程序时,它崩溃了,当我检查调试器时,它显示了

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference

这个错误是在try方法打开方括号之后的一行,我试图避免使用可用的折射器获取空值,但是我的应用仍然崩溃。对于如何克服这个问题,一些帮助将是很好的。 谢谢

0 个答案:

没有答案