Журнал показывает, что результатом является список.Однако я не могу ни получить доступ к списку через индекс, ни преобразовать его в список
Tasks.whenAllSuccess<List<Uri>>(tasks).addOnCompleteListener { tasks-> info("Result is ${tasks.result}") val uri=tasks.result!![0] info("Result head is $uri") db.child("users").child(userId).child("placemarks").child(key).setValue(placemark){err,ref-> placemarks.add(placemark) callback } }
. Ниже приведены сообщения журнала и сообщения об ошибках.Сообщение об ошибке при попытке доступа через индекс:
java.lang.ClassCastException: android.net.Uri$StringUri cannot be cast to java.util.List at org.wit.placemark.models.firebase.PlacemarkFireStore$create$3.onComplete(PlacemarkFireStore.kt:54) at com.google.android.gms.tasks.zzj.run(Unknown Source:4) at android.os.Handler.handleCallback(Handler.java:809) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7377) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
Журнал:
I/PlacemarkFireStore: Result is [https://firebasestorage.googleapis.com/v0/b/placemark-1540061020843.appspot.com/o/oGJ7cZd7qXXbOEvKaVLthpQx9qL2%2FIMG-20181220-WA0012.jpg?alt=media&token=65f0c998-8d9f-47f9-ae49-30c59a934fb1, https://firebasestorage.googleapis.com/v0/b/placemark-1540061020843.appspot.com/o/oGJ7cZd7qXXbOEvKaVLthpQx9qL2%2FIMG-20181219-WA0009.jpg?alt=media&token=0a91873e-61a6-46d5-aa73-a343dc442848, https://firebasestorage.googleapis.com/v0/b/placemark-1540061020843.appspot.com/o/oGJ7cZd7qXXbOEvKaVLthpQx9qL2%2FIMG-20181219-WA0007.jpg?alt=media&token=de2b8c35-597e-4b73-a089-ad2c4e4248f9]
Измените эту строку
Tasks.whenAllSuccess<List<Uri>>(tasks)
на
Tasks.whenAllSuccess<Uri>(tasks)
, и это решило проблему.Сама функция уже привела результат в список.