Android 列表RecyclerView不同item的實現
阿新 • • 發佈:2018-12-28
像這個訂單列表,訂單處在不同狀態下的列表item佈局不一樣
實現方法
1.在一個item佈局中寫多個控制元件,再根據不同訂單情況,通過程式碼的邏輯來隱藏相對應的控制元件
控制元件的可見,不可見,隱藏請看我的下面這篇部落格
https://blog.csdn.net/yh18668197127/article/details/84840123
2.分別寫多套佈局,用RecyclerView載入多套佈局的的方式實現
根據item佈局種類建立多個viewHolder
getItemViewType()中判斷viewType返回值
onCreateViewHolder()中根據引數viewType去判斷該item項應該 inflate 哪個佈局檔案,並建立對應viewHolder
onBindViewHolder()根據載入的不同佈局進行不同的初始化操作
RecyclerView取代ListView的一個原因
用過ListView的都知道,在ListView中若要複用檢視快取,就要在getView()方法中手動判斷convertView是否為空,若不為空則複用檢視快取,若為空則重新載入檢視,而RecyclerView相當於對ListView的Adapter進行了再次封裝,把ListView手動判斷是否有快取的程式碼封裝到RecyclerView內部,使這部分邏輯不可見,我們只需要通過getItemCount()方法告訴RecyclerView有多少項資料,然後在onCreateViewHolder()中載入item佈局例項化ViewHolder,然後在onBindViewHolder()中完成資料的繫結即可。