我使用帶有網格視圖的回收站視圖(每個項目包含一個網格)和縮略圖圖像在視圖中添加圖像後開始上傳,我需要更改一些值(狀態)在模型中開始和完成上傳。 什麼我目前做的是變化值模型,並呼籲notifyDataSetChanged,但它會導致慢下來的應用程序(掛起一些時間),因爲它的更新列表中的所有子:( 任何一個可以幫我這個?如何刷新適配器中的數據,而無需調用notifyDataSetChanged
回答
呼叫notifydatasetchanged()僅用於特定的GridView適配器。切勿notifydatasetchanged()爲完整的recyclerview適配器調用。
嘗試重新設定它的適配器。
gridview.setAdapter(適配器) -passing新list to your adapter。
@nikhil比它不會讓我向下滾動,保持設置適配器。 – Ankit
我相信notifyDataSetChanged
更新所有的值,無論他們是否有變化,這就是爲什麼它很慢。我建議你嘗試使用notifyItemChanged(int position)
。
根據recyclerview docs這是notifyDataSetChanged
做:
此事件不會指定有關數據集發生了什麼變化,迫使任何觀察家認爲所有現有項目和結構可能不再有效。 LayoutManagers將被迫完全重新綁定並重新佈局所有可見的視圖。
老問題,但類似於我正在經歷的。 更改列表詳細信息時,RecyclerView通常非常快速。但是,如果你不在乎,操縱很多圖像可能會讓它變慢。
我建議您嘗試刪除圖像並重復它,以便您可以看到是否如此緩慢。我懷疑這會快很多。
如果是這樣,請確保您正在處理UI線程中的圖像。 Android文檔建議您使用Glide等庫來處理圖像的二次採樣,以確保其尺寸合適。
希望有幫助!
- 1. 如何從另一個活動調用ListView適配器進行刷新 - notifyDataSetChanged()
- 2. 如何插入表中的數據,而無需刷新它
- 3. 適配器方法notifyDataSetChanged不刷新列表視圖
- 4. 安卓更新imageview後適配器notifyDataSetChanged
- 5. 如何刷新其適配器的listView
- 6. jQuery FullCalendar如何在ajax調用後顯示數據而無需刷新頁面
- 7. 如何我適配器瞭解notifydatasetchanged
- 8. notifyDatasetChanged()不適用於適配器
- 9. 如何從視圖刷新數據而無需刷新整個頁面?角度
- 10. 重新加載數據表而無需使用ajax刷新
- 11. Android的ListView適配器錯誤調用notifyDataSetChanged,Android的錯誤?
- 12. 如何將JSON數據從MVC4傳遞到Flot而無需編寫適配器
- 13. 如何刷新數據庫中的單個值,而無需刷新文件中的網頁PHP
- 14. IllegalStateException:不調用適配器的內容PagerAdapter#notifyDataSetChanged
- 15. 如何顯示插入的查詢數據,而無需使用ajax刷新jquery
- 16. notifyDataSetChanged()不在gridview中刷新
- 17. 從數據庫刷新數據,無需刷新頁面
- 18. 刷新微調器數據
- 19. 刷新數據,無需重新加載
- 20. 如何使用mobilefirst 7.1中的適配器更新數據庫
- 21. 的Android - 刷新選項菜單,而無需調用invalidateOptionsMenu()
- 22. Android無盡的FragmentPagerAdapter在刷卡時使用新的適配器
- 23. 如何刷新dbgrid而無需在delphi中關閉和打開數據集?
- 24. 從另一個適配器刷新recyclerview適配器的值
- 25. Ember localstorage適配器有不同的數據,當我刷新
- 26. 如何更新頁面上顯示的值,而無需刷新
- 27. 無法應用自定義適配器notifyDataSetChanged()
- 28. Android適配器notifyDataSetChanged僅適用於加載(第二個適配器)
- 29. 刷新從我的適配器ExpandableListView
- 30. 交際通過適配器notifyDataSetChanged()
所有的值都改變了,或者只有一些值? – hehe
@gj一次一個項目的值從網格改變。 – Ankit
還有其他方法,如notifydatarangeinserted。,notifyItemChanged(int position,Object payload)檢查文檔http://developer.android.com/intl/es/reference/android/support/v7/widget/RecyclerView.Adapter.html/ – Raghunandan