在这种情况下(在Kotlin中),哪个数据或如何绑定数据?



我正在学习recyclerview适配器。我不知道在空白区域中绑定哪些数据。我猜mainImageView应该在空白中,但你如何绑定它?

输入图片描述

这是我的代码

'类GridRecyclerAdapter (private val contentDTOs:数组列表): RecyclerView.Adapter() {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
val width = parent.context.resources.displayMetrics.widthPixels / 3
val mainImageView = ImageView(parent.context)
mainImageView.layoutParams = LinearLayoutCompat.LayoutParams(width, width)
return CustomViewHolder.from(parent)
}
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
holder.bind(contentDTOs)
}
override fun getItemCount(): Int {
return contentDTOs.size
}
class CustomViewHolder private constructor(holder: View) : RecyclerView.ViewHolder(holder) {
fun bind(contentDTOs: ArrayList<ContentDTO>) {
val context = itemView.context
Glide.with(context).load(contentDTOs[adapterPosition].imageUrl)
.apply(RequestOptions().centerCrop())
.into()
}
companion object {
fun from(parent: ViewGroup): CustomViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.fragment_grid, parent, false)
return CustomViewHolder(view)
}
}
}

}'

您必须提供您正在创建的滑行生成器的image视图引用。

class GridRecyclerAdapter(private val contentDTOs: ArrayList<ContentDTO>) : RecyclerView.Adapter<GridRecyclerAdapter.CustomViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
return CustomViewHolder.from(parent)
}
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
holder.bind(contentDTOs)
}
override fun getItemCount(): Int {
return contentDTOs.size
}
class CustomViewHolder constructor(holder: View) : RecyclerView.ViewHolder(holder) {
val context = itemView.context
val mainImageView = ImageView(context)
var width: Int = context.resources.displayMetrics.widthPixels / 3
fun bind(contentDTOs: ArrayList<String>) {
mainImageView.layoutParams = LinearLayoutCompat.LayoutParams(width, width)
Glide.with(context).load(contentDTOs[adapterPosition].imageUrl)
.apply(RequestOptions().centerCrop())
.into(mainImageView)
}
companion object {
fun from(parent: ViewGroup): CustomViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.fragment_grid, parent, false)
return CustomViewHolder(view)
}
}
}
}

最新更新