cardview 中的以下函数 Intent 错误 none
Error none of following function Intent in cardview
我想在我的代码中使用意图
我用的是 cardview,然后想换个视图,
我收到错误 "none of the following function ..."
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)
}
在 Adapter 中创建私有字段 Context,从构造函数中传递它。
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)
}
我想在我的代码中使用意图
我用的是 cardview,然后想换个视图,
我收到错误 "none of the following function ..."
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)
}
在 Adapter 中创建私有字段 Context,从构造函数中传递它。
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)
}