android - 在cardview中没有以下功能意图错误
问题描述
我想在我的代码中使用意图
我使用 cardview 然后想移动到另一个视图,
我收到错误“没有以下功能......”
class ListResep(val listResep: ArrayList<Resep>) : RecyclerView.Adapter<ListResep.CardViewViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CardViewViewHolder {
val view: View = LayoutInflater.from(parent.context).inflate(R.layout.list_resep, parent, false)
return CardViewViewHolder(view)
}
override fun onBindViewHolder(holder: CardViewViewHolder, position: Int) {
val resep = listResep[position]
Glide.with(holder.itemView.context)
.load(resep.photo)
.apply(RequestOptions().override(600, 400))
.into(holder.imgPhoto)
holder.tvName.text = resep.name
holder.tvDetail.text = resep.detail
holder.btnShare.setOnClickListener { Toast.makeText(holder.itemView.context, "Share " + listResep[holder.adapterPosition].name, Toast.LENGTH_SHORT).show()
}
holder.itemView.setOnClickListener {
val intent = Intent(context, DetailResep::class.java)
startActivity(intent)
}
}
override fun getItemCount(): Int {
return listResep.size
}
inner class CardViewViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
var imgPhoto: ImageView = itemView.findViewById(R.id.img_item_photo)
var tvName: TextView = itemView.findViewById(R.id.tv_item_name)
var tvDetail: TextView = itemView.findViewById(R.id.tv_item_detail)
var btnFavorite: Button = itemView.findViewById(R.id.btn_set_favorite)
var btnShare: Button = itemView.findViewById(R.id.btn_set_share)
var btnUnFavorite: TextView = itemView.findViewById(R.id.btn_unset_favorite)
}
解决方案
在适配器内部创建私有字段上下文,从构造函数传递它。
class ListResep(private val context: Context, val listResep: ArrayList) : RecyclerView.Adapter()
那么在你的 onBindViewHolder 中必须是:
holder.itemView.setOnClickListener {
...
Glide.with(context)
...
val intent = Intent(context, DetailResep::class.java)
context.startActivity(intent)
}
推荐阅读
- java - HEROKU 部署可执行 jar
- vb.net - 是否可以在 SortedList(Of String, Generic Type) 中传递泛型类型
- c# - C# - LockBits - 在其他图像中比较图像
- python - 将 TIFF 转换为 numpy 数组
- amazon-web-services - 如何将包含换行符的 Redshift 数据卸载到单行中?
- cucumber - 在本地运行黄瓜功能文件
- mongodb - 决定哪个集合
- apache - 使用 CloudFlare 进行反向代理?
- c - DNS UDP Socket write() 问题
- jquery - jQuery和选择标签HTML不改变页面