我的活动中有一个带有自定义适配器类的gridView,我无法弄清楚如何将视图模型绑定到活动的gridView。 这是我的gridview适配器:
class ImageAdapter constructor(val mContext: Context, private val resource_layout: Int, private val images: Array<Int>) :
ArrayAdapter<ImageAdapter.ViewHolder>(mContext, resource_layout) {
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
var convertView = convertView
val holder : ViewHolder
if(convertView == null) {
val layoutInflater = LayoutInflater.from(mContext)
convertView = layoutInflater.inflate(resource_layout, null)
holder = ViewHolder()
holder.imageItem = convertView.added_picture
convertView.tag = holder
} else {
holder = convertView.tag as ViewHolder
}
Glide.with(mContext)
.load("https://picsum.photos/200/300")
.apply(RequestOptions.centerCropTransform())
.placeholder(R.drawable.ic_add_icon)
.into(holder.imageItem)
return convertView!!
}
override fun getCount(): Int {
return images!!.size
}
inner class ViewHolder {
lateinit var imageItem : ImageView
}
}
答案 0 :(得分:1)
将<layout></layout>
放入行文件中,即可设置ViewModel
名称的变量名称。现在,您可以在getViewHolder
的适配器中设置视图的膨胀,如下所示。
mTaskCustomLayoutBinding =
DataBindingUtil.inflate(inflater, R.layout.task_custom_layout, parent, false)
return MyViewHolder(this!!.mTaskCustomLayoutBinding!!)
在您的Viewholder类中设置绑定
inner class MyViewHolder(val mBinding: TaskCustomLayoutBinding) :
RecyclerView.ViewHolder(mBinding.getRoot())
因此,您将获得绑定的对象并将数据设置为视图。
希望它会帮助您:)
答案 1 :(得分:0)
GridView网格=(GridView)itemView.findViewById(R.id.mGridView);