我想在我的代码中使用意图
我使用cardview然后想移到另一个视图,
我收到错误“以下功能均无...”
class ListResep(val listResep:ArrayList):RecyclerView.Adapter(){
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)
}
在适配器内创建私有字段上下文,从构造函数传递它,或从onCreateViewHolder分配它,然后从onBindViewHolder对其进行评估。
class MyAdapter(private val context: Context)
or
private lateinit var context: Context
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder {
context = parent.context
...
}
然后您的onBindViewHolder中的必须是:
holder.itemView.setOnClickListener {
val intent = Intent(context, DetailResep::class.java)
context.startActivity(intent)
}