我已經加入notifyDataSetChange它仍然達到在回收視圖的頂部,如果有人看到在代碼中的任何錯誤,請回復。我在滾動表單服務器上加載數據bt將它設置在適配器的底部,這裏VegList是一個包含新數據的舊數據的列表。
我已經看到了所有相關的無盡回收視圖所以沒必要這樣類型的建議,並不新鮮。
我已經加入notifyDataSetChange它仍然達到在回收視圖的頂部,如果有人看到在代碼中的任何錯誤,請回復。我在滾動表單服務器上加載數據bt將它設置在適配器的底部,這裏VegList是一個包含新數據的舊數據的列表。
我已經看到了所有相關的無盡回收視圖所以沒必要這樣類型的建議,並不新鮮。
由於你正在創建一個新的適配器每次loadmore被稱爲有這個問題。
您需要像這樣重寫代碼。在 的onCreate這樣
vegAdaper = new VegAdapter(this,vegList);
recycleView.setAdapter(vegAdapter);
初始化適配器請從臨時ArrayList中創建刪除所有代碼vegAdaper.notifyDatasetChanged()
,並更改爲這個單行
vegAdaper.notifyItemInserted(vegList.size() -1); // this will notify the new items in vegList.. Not the entire view.
也請發佈實際的代碼,而不是圖像。
因爲我傳遞的ArrayList參數adpater的構造和VegList是一個List類型的變量 –
我不能vegAdapter使用VegList我已經習慣了notifyItemInserted,因爲你定義的依然沒有成功 –
在這種情況下,你可以很容易地將vegList改爲arralist的權利,?你通過了什麼而不是vegList ..? –
你可以得到的位置,你叫notifyDataSetChanged(前)和之後,你可以叫爲setSelection(位置)。以獲得列表視圖或任何回到原來的地方。
這是一個回收視圖不是網格視圖 –
一個recycleview的最重要的用途之一是,我們可以通過刷新視圖individually.By調用notifyDataSetChanged您刷新了..用vegAdaper.notifyItemInserted(temp.size() - 1)整個視圖;而不是notifyDataSetChanged。你也正在創造一個新的適配器每次即是非常糟糕.. –