2016-11-10 30 views
0

enter image description here回收站視圖後達到增加一些數據上滾動適配器

我已經加入notifyDataSetChange它仍然達到在回收視圖的頂部,如果有人看到在代碼中的任何錯誤,請回復。我在滾動表單服務器上加載數據bt將它設置在適配器的底部,這裏VegList是一個包含新數據的舊數據的列表。

我已經看到了所有相關的無盡回收視圖所以沒必要這樣類型的建議,並不新鮮。

+1

一個recycleview的最重要的用途之一是,我們可以通過刷新視圖individually.By調用notifyDataSetChanged您刷新了..用vegAdaper.notifyItemInserted(temp.size() - 1)整個視圖;而不是notifyDataSetChanged。你也正在創造一個新的適配器每次即是非常糟糕.. –

回答

2

由於你正在創建一個新的適配器每次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. 

也請發佈實際的代碼,而不是圖像。

+0

因爲我傳遞的ArrayList參數adpater的構造和VegList是一個List類型的變量 –

+0

我不能vegAdapter使用VegList我已經習慣了notifyItemInserted,因爲你定義的依然沒有成功 –

+0

在這種情況下,你可以很容易地將vegList改爲arralist的權利,?你通過了什麼而不是vegList ..? –

0

你可以得到的位置,你叫notifyDataSetChanged(前)和之後,你可以叫爲setSelection(位置)。以獲得列表視圖或任何回到原來的地方。

+0

這是一個回收視圖不是網格視圖 –

相關問題