首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓LiveData转换

安卓LiveData转换
EN

Stack Overflow用户
提问于 2018-05-02 04:12:18
回答 1查看 709关注 0票数 0

我有一个简单的类

代码语言:javascript
复制
public class Contacts {
    public ArrayList<Contact> items;
}

我有一个翻新get请求

代码语言:javascript
复制
LiveData<ApiResponse<Contacts>> getContacts();

这将返回LiveData<ApiResponse<Contacts>>,但我需要进一步将其用作项目列表LiveData<ApiResponse<List<Contact>>>

代码语言:javascript
复制
protected LiveData<ApiResponse<List<Contact>>> createCall() {
  LiveData<ApiResponse<Contacts>> contacts = apiService.getContacts();

  return contacts.items;
}

所以问题是如何将一个livedata转换成另一个livedata?

EN

回答 1

Stack Overflow用户

发布于 2018-06-29 21:18:06

使用Transformations将一个LiveData转换为另一个。

代码语言:javascript
复制
LiveData<User> userLiveData = ...;
LiveData<String> userName = Transformations.map(userLiveData, user -> {
    user.name + " " + user.lastName
});

对于您的情况,请使用下面这样的内容

代码语言:javascript
复制
LiveData<List<Contact>> contactList = Transformations.map(contactsLiveData, it -> {
    it.contacts() // returns list
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50123166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档