我有一个简单的类
public class Contacts {
public ArrayList<Contact> items;
}我有一个翻新get请求
LiveData<ApiResponse<Contacts>> getContacts();这将返回LiveData<ApiResponse<Contacts>>,但我需要进一步将其用作项目列表LiveData<ApiResponse<List<Contact>>>
protected LiveData<ApiResponse<List<Contact>>> createCall() {
LiveData<ApiResponse<Contacts>> contacts = apiService.getContacts();
return contacts.items;
}所以问题是如何将一个livedata转换成另一个livedata?
发布于 2018-06-29 21:18:06
使用Transformations将一个LiveData转换为另一个。
LiveData<User> userLiveData = ...;
LiveData<String> userName = Transformations.map(userLiveData, user -> {
user.name + " " + user.lastName
});对于您的情况,请使用下面这样的内容
LiveData<List<Contact>> contactList = Transformations.map(contactsLiveData, it -> {
it.contacts() // returns list
});https://stackoverflow.com/questions/50123166
复制相似问题