简体   繁体   English

Kotlin 来自Flow List的LiveData列表

[英]Kotlin LiveData list from Flow List

I would like to know how do I make a LiveData list populated from a Flow list without having to create a separate model just for a list of the object.我想知道如何制作从流列表填充的 LiveData 列表,而不必仅为 object 的列表创建单独的 model。

User Data Class:用户数据 Class:

data class User(
    // object properties
)

Users Data Class:用户数据 Class:

data class UsersViewData(
    val users: List<User>
)

How I currently convert the Flow list to LiveData list in the ViewModel:我目前如何将 Flow 列表转换为 ViewModel 中的 LiveData 列表:

val users: LiveData<Users> = getUsers.users.map { users ->
        UsersViewData(users = users.map { it })
    }.asLiveData()

Is there a better way of doing this without having to create the UsersViewData data class?有没有更好的方法来执行此操作而不必创建 UsersViewData 数据 class?

The solution provided by @Tenfour04 is: @Tenfour04 提供的解决方案是:

val users: LiveData<List<UserViewData>> = getUsers.users.map { users ->
        users.map { it.toUserViewData() }
    }.asLiveData()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM