Как решить исключение нулевого указателя - PullRequest
0 голосов
/ 20 июня 2019

Я использую код ниже, чтобы получить текущее местоположение человека и значения долготы и широты

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, и я пытался избежать получения нулевых значений, используя доступные рефракторы, но мое приложение все еще падает. некоторая помощь была бы хороша о том, как преодолеть эту проблему. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...