项目引入依赖
项目级的build.gradle文件中添加
allprojects {
repositories {
google()
mavenCentral()
jcenter()
maven { url 'https://jitpack.io' }
}
}
应用级build.gradle文件中添加
//Basequickadapter
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
案例使用
单view的adapter
class OneViewAdapter () : BaseQuickAdapter<数据组datalist, BaseViewHolder>(R.layout.item_recent_rides){
override fun convert(holder: BaseViewHolder, item: 数据组datalist) {
holder.setText(R.id.xxx, "")
}
}
多个view的adapter
class MoreViewAdapter() : BaseDelegateMultiAdapter<数据组datalist, BaseViewHolder>(){
private val TYPE1 = 101
private val TYPE2 = 102
override fun convert(holder: BaseViewHolder, item: 数据组datalist) {
when(holder.itemViewType) {
TYPE1 -> {
}
TYPE2 -> {
}
else -> {}
}
}
init {
setMultiTypeDelegate(object : BaseMultiTypeDelegate<数据组datalist>(){
override fun getItemType(data: List<数据组datalist>, position: Int): Int {
return if (区分类型的判断条件) {
TYPE1
}else{
TYPE2
}
}
})
getMultiTypeDelegate()
?.addItemType(TYPE1, R.layout.item_layout1)
?.addItemType(TYPE2, R.layout.item_layout2)
}
}
添加headerview
val mHeaderView = layoutInflater.inflate(R.layout.header_view, null)
Adapter.addHeaderView(mHeaderView)
添加FooterView
val mHeaderView = layoutInflater.inflate(R.layout.header_view, null)
Adapter.addFooterView(mHeaderView)
添加点击事件
init {
addChildClickViewIds(R.id.item_id1, R.id.item_id2, R.id.item_id3)
}