Проблема Android Studio с лямбда-выражениемAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема Android Studio с лямбда-выражением

Сообщение Anonymous »

Я пытаюсь создать функцию, которая возвращает долготу и широту в виде строки. Я не могу хоть убей понять, почему:
  • лямбда-функция отказывается обновлять значение до фактических координат (функции действительно удается получить местоположение, потому что, если я раскомментирую эту строку с помощью журнала, она действительно опубликует некоторые координаты)
  • По возможности избегайте использования лямбда-функции (решаемая проблема 1 имеет приоритет над этой)

Код: Выделить всё

fun getLatLongString(location: Location?): String {
val latitude = location?.latitude
val longitude = location?.longitude
return "Latitude: $latitude, Longitude: $longitude"
}

// @SuppressLint("MissingPermission")
fun getLocation():String {
var please = "no location"
val task: Task = fusedLocationClient.lastLocation

task.addOnSuccessListener { location: Location? -> String
if (location != null) {
var latLongString:String = getLatLongString(location)
please = latLongString
//Log.i("I", "Location $please")
}else{
please = "location not working"
Log.i("I", "Location not found")
}
}
return please
}
это мои 2 функции. Первая функция getLatLongString просто форматирует и преобразует данные, а вторая функция getLocation является основной функцией, которая обрабатывает сбор местоположения.
Любая помощь будет принята с благодарностью !!
P.S. в строке объявления задачи есть ошибка, но эта ошибка связана с отсутствием разрешений, которые я обработал где-то еще.

Подробнее здесь: https://stackoverflow.com/questions/792 ... expression
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»