不同陣列尺寸的scrollListener使無盡的滾動 - 你可以找到我的問題和維倫的答案在這裏:無盡滾動RecyclerView與我目前使用的API
Adding items to Endless Scroll RecyclerView with ProgressBar at bottom
這可以創造奇蹟,當你有same每當您滾動時激活適配器的數據集大小例如,在Vilen的代碼中,他每次滾動時都會將數據集的大小增加相同數量,15。
但是,在現實世界中,情況往往不是這樣。您一直有不同的數據集大小。在我的示例中,我想要執行以下操作:
我想實施地理空間搜索,以便返回最接近我的地點列表。現在,如果我坐在沙漠中,我的REST API調用將返回距離我10公里內的地方,這可能只有4個地方(駱駝小屋,金字塔,水洞和椰子樹)。
在recyclerview中填充4個項目不會使recyclerview足夠長以允許它進一步滾動,以便我的應用程序將再次觸發API調用以找到更靠近我的位置。接下來的10公里(距離我目前的地點20公里)可能是一個有很多地方可以返回的城鎮,但由於recyclerview的時間不夠長,所以不會進行API調用。
我也做了一個微小的回購協議,以證明當recyclerview太短滾動監聽器不會被觸發:
https://github.com/Winghin2517/DissimilarDataSetSizeRV.git
我怎樣才能解決這個問題得到什麼?
我幾乎覺得應該觸發scrolllistener,直到recyclerview填滿屏幕,但是如何確定何時屏幕將被填滿,因爲回收站視圖 - 填充屏幕沒有回調,就我而言知道。
我曾試圖阻止改變boolean loading
看,這將有助於但沒有布爾檢查負載的狀態,進度條不一定會被刪除導致這種類型的效果:
所以你解決了這個問題還是你還需要幫助? –
解決了。我不敢相信我能夠快速解決這個問題。它比我想象的要花費更少的時間。我無法將我的答案標記爲正確,但我會按照SO規則在2小時內完成答案。 – Simon
那麼如果你有更好的方式來做到這一點,你可以自由發佈你的解決方案。我覺得我的方式有點冒險,但它似乎工作。 – Simon