Hel*_*oCW 2 android kotlin android-livedata
代码 A 用于for (aMovice in listVoiceBySort.value!!)访问 的每个元素LiveData<List<MVoice>>。
但我不认为这是一个好方法,因为它使用listVoiceBySort.value!!,它很丑陋。
是否有访问 的每个元素的好方法LiveData<List<MVoice>>?
代码 A
val listVoiceBySort: LiveData<List<MVoice>> =_listVoiceBySort
fun selectAllIDs(){
for (aMovice in listVoiceBySort.value!!){
selectedIDs.add(aMovice.id)
}
}
Run Code Online (Sandbox Code Playgroud)
最好使用ie具有相同功能的内联函数。它允许您使用安全调用 ( ) 而不是非空断言 ( ):forEach ?.!!
fun selectAllIDs() {
listVoiceBySort.value?.forEach {
selectedIDs.add(it.id)
}
}
Run Code Online (Sandbox Code Playgroud)
另一种方法是将MVoice元素映射到它们的 id,然后将它们全部添加到selectedIDs:
fun selectAllIDs() {
listVoiceBySort.value?.map { it.id }?.let {
selectedIDs.addAll(it)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |