我收到这个错误
2019-11-13 11:33:13.507 17714-17714/com.nandrezholdingslimited.pebblar E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.nandrezholdingslimited.pebblar, PID: 17714
java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter p1
at com.nandrezholdingslimited.pebblar.features.map.MapViewModel$docList$1.invoke(Unknown Source:2)
at com.nandrezholdingslimited.pebblar.features.map.MapViewModel$docList$1.invoke(MapViewModel.kt:26)
at com.nandrezholdingslimited.pebblar.features.map.MapViewModel$sam$androidx_arch_core_util_Function$0.apply(Unknown Source:2)
at androidx.lifecycle.Transformations$1.onChanged(Transformations.java:76)
at androidx.lifecycle.MediatorLiveData$Source.onChanged(MediatorLiveData.java:152)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:131)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:149)
at androidx.lifecycle.LiveData.setValue(LiveData.java:307)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at androidx.lifecycle.Transformations$1.onChanged(Transformations.java:76)
at androidx.lifecycle.MediatorLiveData$Source.onChanged(MediatorLiveData.java:152)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:131)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:149)
at androidx.lifecycle.LiveData.setValue(LiveData.java:307)
at androidx.lifecycle.LiveData$1.run(LiveData.java:91)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
调用栈是很容易解释的,但是我找不到应该使它可以为空的参数。
在MapViewModel内部,唯一与docList相关的代码是
var docList: LiveData> = Transformations.map(trip, ::convertToDocList)
MapViewModel.kt:26的代码是
class MapViewModel(application: Application, tripId: String) : AndroidViewModel(application)
请帮忙,谢谢!
更新:内部convertToDocList
private fun convertToDocList(trip: DomainTrip): List {
return TripResponseConverter.convertToDocList(trip)
}
fun convertToDocList(trip: DomainTrip): List {
val assets = trip.assets
val docList = mutableListOf()
for (asset in assets) {
if (asset.ideaId.isEmpty()) {
docList.add(Doc(asset._id, asset.title, asset.extension, asset.contentType))
}
}
return docList
}