Android 我可以在Kotlin中将_task.map替换为Transformations.map吗?
代码A是fom的 我认为代码B和代码A是一样的,对吗 代码AAndroid 我可以在Kotlin中将_task.map替换为Transformations.map吗?,android,kotlin,android-livedata,Android,Kotlin,Android Livedata,代码A是fom的 我认为代码B和代码A是一样的,对吗 代码A val task: LiveData<Task?> = _task val completed: LiveData<Boolean> = _task.map { input: Task? -> input?.isCompleted ?: false } val任务:LiveData=\u任务 val已完成:LiveData=_task.map{输入:任务?-> 输入?.isCompleted?:
val task: LiveData<Task?> = _task
val completed: LiveData<Boolean> = _task.map { input: Task? ->
input?.isCompleted ?: false
}
val任务:LiveData=\u任务
val已完成:LiveData=_task.map{输入:任务?->
输入?.isCompleted?:false
}
代码B
val task: LiveData<Task?> = _task
val completed = Transformations.map(_task){input: Task? ->
input?.isCompleted ?: false
}
val任务:LiveData=\u任务
val completed=Transformations.map(_task){input:task?->
输入?.isCompleted?:false
}
是的,它完全相同,因为LiveData.map
是一个扩展函数,由Transformations.kt
文件提供,它是依赖项的一部分:
def lifecycle_version = "2.2.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
这就是map
扩展函数所做的,它与代码B完全相同:
inline fun <X, Y> LiveData<X>.map(crossinline transform: (X) -> Y): LiveData<Y> =
Transformations.map(this) { transform(it) }
inline fun LiveData.map(交叉内联转换:(X)->Y):LiveData=
map(this){transform(it)}
是的,它完全相同,因为LiveData.map
是一个扩展函数,由Transformations.kt
文件提供,它是依赖项的一部分:
def lifecycle_version = "2.2.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
这就是map
扩展函数所做的,它与代码B完全相同:
inline fun <X, Y> LiveData<X>.map(crossinline transform: (X) -> Y): LiveData<Y> =
Transformations.map(this) { transform(it) }
inline fun LiveData.map(交叉内联转换:(X)->Y):LiveData=
map(this){transform(it)}