RecyclerView.Adapter優化了嗎?

陳宇明發表於2016-05-23

昨天寫了一篇「還在用ListView?」講的內容是RecyclerView的使用技巧以及一些常用的開源庫,有朋友反饋“我已經在用recyclerview了”,那麼如何讓它更好用呢?此時我想到了優化RecyclerView.Adapter,因為在RecyclerView還沒出來之前我就寫過一篇「ListView之Adapter優化」,通過這篇文章的優化思路可以在原來的程式碼上修改部分程式碼用在優化RecyclerView.Adapter上,一如既往的好用。

本次主要講兩個方面的優化

  • 精簡程式碼
  • 擴充套件功能

RecyclerView.Adapter優化了嗎?

精簡程式碼

正常沒優化的寫法:

優化後,是這樣的:

優化前和優化後的程式碼量是3:1的比例!

我的天啦!太不可思議了!

現在來分析,如何優化的?(帶著問題學習)
思路:
找到重複部分程式碼,抽取到基類,非重複部分用抽象方法代替,具體讓子類實現。
說了思路在看看具體程式碼BaseQuickAdapter裡面怎麼寫的:

接下來再看看BaseViewHolder怎麼寫的:

利用SparseArray來做快取,把常用方法全部寫好,從而避免冗餘程式碼。


擴充套件功能

大家都知道RecyclerView沒有ItemClick方法,可以在上面提過的BaseQuickAdapter裡面新增ItemClick,可以這樣寫:

還可以新增一些常用的方法如:

程式碼我已經上傳到GitHub上了,有興趣的同學Star或者一起共同將它完成的更完善!送大家一句我非常喜歡的話:不分享誰與你共享呢?

原始碼地址:傳送門

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

RecyclerView.Adapter優化了嗎?

相關文章