簡體   English   中英

如何將搜索建議動態發送到數據源並在Android jetpack分頁庫中獲取更新的頁面列表?

[英]How to send search suggestions dynamically to data source and get updated pagelist in Android jetpack paging library?

如何將搜索建議動態發送到數據源的改裝參數並在Android jetpack分頁庫中獲取更新的pagedlist?

這是我帶數據的改造Web服務中的Web函數。

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

此api在數據源中被調用,它為我提供了所有數據的列表,我正在使用pagedlist在reyclerview中列出。 但是我很困惑,不知道如何在運行時在數據源中對此api進行調用,然后根據我在autocompleteTextview中獲取的內容獲取更新的pagedlist。

我該怎么辦? 每當我在自動完成功能中點按某個內容時,我應該創建數據源,數據源工廠和頁面列表的新實例,還是應如何動態更改同一數據源調用並獲取更新的頁面列表?

您無需更改Web服務中的任何內容。 您可以制作一個常量類(getter setter)等,並像這樣更改您的數據源類。

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

然后在活動/片段的搜索完整監聽器中調用此方法:

 Constants.setSearch("search result");
 viewModel.searchResultList.value.dataSource.invalidate();

在您的Datasource類中創建一個字段(添加getter,setter),然后將該字段傳遞給改造調用。 以后,如果要再次調用,只需將所需的搜索查詢設置為數據源實例,然后在設置查詢后調用.invalidate()。

請參閱這篇文章https://android.jlelse.eu/android-paging-library-make-your-lists-as-efficiency-as-possible-literally-in-just-an-hour-5abf797585bd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM