import io.reactivex.Observable
val bannerItemData: ArrayList<HomeBean.Issue.Item> = mData.take(bannerItemSize).toCollection(ArrayList())
val bannerFeedList = ArrayList<String>()
val bannerTitleList = ArrayList<String>()
//取出banner 显示的 img 和 Title
Observable.fromIterable(bannerItemData)
.subscribe { list ->
bannerFeedList.add(list.data?.cover?.feed ?: "")
bannerTitleList.add(list.data?.title ?: "")
}
//设置 banner
with(holder) {
getView<BGABanner>(R.id.banner).run {
setAutoPlayAble(bannerFeedList.size > 1)
setData(bannerFeedList, bannerTitleList)
setAdapter { banner, _, feedImageUrl, position ->
GlideApp.with(mContext)
.load(feedImageUrl)
.transition(DrawableTransitionOptions().crossFade())
.placeholder(R.drawable.placeholder_banner)
.into(banner.getItemImageView(position))
}
}
}
//没有使用到的参数在 kotlin 中用"_"代替
holder.getView<BGABanner>(R.id.banner).setDelegate { _, imageView, _, i ->
goToVideoPlayer(mContext as Activity, imageView, bannerItemData[i])
}