Как динамически отправлять поисковые предложения в источник данных и получать обновленный список страниц в библиотеке подкачки Android Jetpack?

Как динамически отправлять поисковые предложения в параметры модификации источника данных и получать обновленный список страниц в библиотеке подкачки Android Jetpack?

Вот моя веб-функция в модифицированном веб-сервисе, которая приносит данные.

@GET(version + "/get-bills")
  Call<ApiResponse<BillsModel>> getPartnerBillsSorted(@Query("page")int page, @Query("type")int  type,@Query("search")String search );

Этот API вызывается в источнике данных, и он дает мне список всех данных, которые я перечисляю в reyclerview, используя pagedlist. Но я совершенно запутался и не знаю, как мне вызвать этот API в источнике данных во время выполнения, а затем получить обновленный список страниц на основе того, что я ищу в autocompleteTextview.

Что я должен делать? Должен ли я создавать новый экземпляр источника данных и фабрики источников данных и список страниц каждый раз, когда я нажимаю что-то в автозаполнении, или как мне динамически изменять один и тот же вызов источника данных и получать обновленный список страниц?


person Maximus    schedule 31.01.2019    source источник


Ответы (2)


Вам не нужно ничего менять в вашем веб-сервисе. Вы можете создать постоянный класс (getter setter) и т. д. и изменить свой класс источника данных следующим образом.

compositeDisposable.add(
            networkService.getPartnerBillsSorted(Costant.PAGE,
            ,Costant.TYPE
            ,Costant.SEARCH
            .subscribe()

а затем вызовите это в своем поиске полного слушателя в действии/фрагменте:

 Constants.setSearch("search result");
 viewModel.searchResultList.value.dataSource.invalidate();
person Hussnain Haidar    schedule 01.02.2019

создайте поле в своем классе источника данных (добавьте геттер, сеттер), передайте это поле для вызова модификации. позже, если вы хотите сделать еще один вызов, просто установите требуемый поисковый запрос на экземпляр источника данных и вызовите .invalidate() после установки запроса.

обратитесь к этой статье https://android.jlelse.eu/android-paging-library-make-your-lists-as-efficient-as-possible-literally-in-just-an-hour-5abf797585bd

person Damarasingu Jagadeesh    schedule 11.09.2019