2.2.3 版本有什么变化呢?同样的代码,使用 2.2.3 版本加载不出图片,发现 onCreateHolder 都没有调用,但改用 2.2.2 就可以了。
作者: zpszz创建于 2024年8月23日更新于 2026年3月20日
class HomeBannerAdapter(dataList: ArrayList): BannerAdapter<BannerData, HomeBannerAdapter.BannerViewHolder>(dataList) {
inner class BannerViewHolder(var imageView: ImageView): RecyclerView.ViewHolder(imageView) {
override fun onCreateHolder(parent: ViewGroup?, viewType: Int): BannerViewHolder {
val imageView = ImageView(parent?.context)
// 必须设置为match_parent,这是ViewPager2强制要求的
imageView.layoutParams = ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT,
)
imageView.scaleType = ImageView.ScaleType.CENTER_CROP
return BannerViewHolder(imageView)
}
override fun onBindView(holder: BannerViewHolder, data: BannerData, position: Int, size: Int) {
LogUtil.d("HomeBannerAdapter", data.pic)
holder.imageView.apply {
LogUtil.d("HomeBannerAdapter", data.pic)
load(data.pic)
// 点击跳转
}
}
}
banner.apply {
setAdapter(mBannerAdapter)
indicator = CircleIndicator(context)
addBannerLifecycleObserver(viewLifecycleOwner)
}
}
内容来源: youth5201314/banner