深入理解RecyclerView的設計和實現

RecyclerView作爲官方替代ListView的控件,它具有以下優點

  1. 自定義佈局方式,使我們輕鬆實現ListView、GridView形式,瀑布流形式
  2. 定義ViewHolder代替View,封裝了緩存判斷邏輯

RecyclerView實現流程

mRecyclerView.setLayoutManager(getActivity());
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setAdapter(mAdapter);

通過執行以上代碼片段,執行流程如下圖的
這裏寫圖片描述

RecyclerView的設計

  1. 通過橋接模式,使RecyclerView 將佈局方式獨立成LayoutManager,實現對佈局的定製化。
  2. 通過組合模式,使RecycleView通過dispatchLayout對Item View進行佈局繪製的。
  3. 通過適配器模式,ViewHolder將RecycleView與ItemView聯繫起來,使得RecycleView方便操作ItemView。
  4. 通過觀察者模式,給ViewHolder註冊觀察者,當調用notifyDataSetChanged時,就能重新繪製。

使用RecyclerView注意問題

  1. 沒有處理Item點擊事件
  2. 沒有Header 和Footer接口
  3. RecyclerView的操作單位時ViewHolder,不再是View
  4. ViewHolder是android中定義的Adapter基類中的泛型參數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章