Как отфильтровать LiveData в архитектуре Android MVVM после пользовательского ввода? - PullRequest
1 голос
/ 01 июля 2019

У меня есть список пользователей типа LiveData, который отображается в обзоре переработчика. Как только я что-то ввожу в текст редактирования, я просто хочу отфильтровать список.

Я видел в других примерах, что люди используют Transformations.switchmap и вызывают что-то вроде userRepo.getFilteredList (searchQuery). Но так как у меня очень простой список и поиск, я думаю, что лучше применить фильтр в viewmodel.

Есть ли простой способ, подобный it.filter {item.name.contains (s)}, к этим жилатам в модели представления? Я благодарен за любые ссылки или советы.

1 Ответ

0 голосов
/ 01 июля 2019
fun getFilteredList(s: String): LiveData<List<User>> {
    return Transformations.map(userListLiveData) {
        it.filter {
            it.name.contains(s)
        }
    }
}

Я разобрался с этим :) Вот, пожалуйста.

...