Android Как создать пагинацию с номером - PullRequest
2 голосов
/ 05 мая 2020

Я новичок с android и код с kotlin. Я запрашиваю данные из вызова api, используя Retrofit, и я пытаюсь заполнить эти данные в списке RecyclerView. Я знаком с вызовом basi c Api и заполнением данных для адаптера Recyclerview.

Но сейчас я пытаюсь сделать нумерацию страниц и наткнулся на библиотеку Paging. Я попытался осмотреться, как создать разбиение на страницы, и наткнулся на несколько хороших туториалов для этого.

Практически весь пример PagedListAdapter, который я видел, - это бесконечная прокрутка. Вместо этого я пытаюсь создать разбиение на страницы с такими числами:

enter image description here

Я хочу ограничить страницу только примерно 20 данными и количеством страница будет зависеть от общего количества данных, полученных из api.

Мой вызов api get выглядит следующим образом, где я могу установить данные для каждой страницы и запросить данные на основе номера страницы

@GET("/api/data/history")
fun getDataHistory(
    @Query("cardNo") cardNo: String?,
    @Query("perPage") perPage: Int?,       //data per page
    @Query("pageNumber") pageNumber: Int?  //page number
): Call<DataHistory>

Данные ответа:

{ 
  "metaData" : { 
    "totalCount": 150,  // ( maximum 200 ) 
    "perPage": 10,      // ( default 20 ) 
    "pageNumber": 3     // ( default 1 )  
  },
  "data" : [
    {
      "statementDate": null,
      "transactionDate": "2020-02-20 10:22:32",
      "postingDate": "2020-02-20",
      "cardNo": "70838153000829349",
      "stan": "0",
      "qty": 10.000,
      "totalAmount": 24.00
    },
    ...
  ]
}

Мне по-прежнему актуально использовать библиотеку подкачки? Как мне решить эту проблему?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...