簡體   English   中英

當一項狀態發生變化時刷新 LazyPagingItems

[英]Refreshing LazyPagingItems when one item state has changed

基本上,我在可組合函數中收集了一個分頁數據流:

val list = state.listFlow.collectAsLazyPagingItems()

列表中的每個項目都有一個號召性用語按鈕,該按鈕將啟用/禁用視圖並更新相應項目的 UI。

我的問題是,我們如何更新項目的視覺狀態而不需要在 PagingData 上調用 refresh 並因此重新查詢 API/數據庫以獲取更新的數據?

此外,如果用戶滾動瀏覽了 5 頁或更多我不想重新加載整個內容,則可以在本地進行更改。

關於如何實現這一目標的任何線索?

這對於需要不可變列表的 Paging3 來說幾乎是不可能的。 請參閱https://issuetracker.google.com/issues/160232968

這個問題困擾了我幾個月,最后我決定放棄 Paging3 庫並編寫自己的分頁列表來避免所有這些奇怪的功能。 Paging3的大部分復雜性是因為它想將分頁列表封裝在一個庫中,這需要視圖層和模型層協同工作。

這是我實現的分頁列表: https ://gist.github.com/FishHawk/6e4706646401bea20242bdfad5d86a9e

如果您的項目對 paging3 庫沒有深度依賴,我強烈建議您嘗試這樣做。

暫無
暫無

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

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