处理物品时长单击回收站视图 [英] Handle on item long click on recycler view
本文介绍了处理物品时长单击回收站视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个自定义recyclerView
的适配器,并且我想在recyclerView
的项目的长按事件上打开弹出菜单.
我该怎么办?
I have an adapter that customizes a recyclerView
and I want to open a popup menu on long click event on recyclerView
's items.
How can I do this?
推荐答案
已在此处得到了解答.无论如何,您可以这样做:
This has already been answered here. Anyway, you can do it like this:
class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
private Article article;
private TextView nameTextView;
public ViewHolder(View itemView) {
super(itemView);
itemView.setOnClickListener(this);
itemView.setOnLongClickListener(this);
nameTextView = (TextView) itemView.findViewById(R.id.grid_item_article_name_textView);
}
public void bind(Article article) {
this.article = article;
nameTextView.setText(article.getName());
}
@Override
public void onClick(View view) {
// Context context = view.getContext();
// article.getName()
}
@Override
public boolean onLongClick(View view) {
// Handle long click
// Return true to indicate the click was handled
return true;
}
}
更新:如果您使用的是科特林,请执行以下操作:
Update: if you're using Kotlin do:
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView),
View.OnClickListener, View.OnLongClickListener {
init {
itemView.setOnClickListener(this)
itemView.setOnLongClickListener(this)
}
private lateinit var article: Article
private val titleTextView: TextView = itemView.findViewById(R.id.item_article_title_textView)
fun bind(article: Article) {
this.article = article
titleTextView.text = article.title
}
override fun onClick(view: View) {
listener.onItemClick(article)
}
override fun onLongClick(view: View): Boolean {
Toast.makeText(view.context, "long click", Toast.LENGTH_SHORT).show()
// Return true to indicate the click was handled
return true
}
}
这篇关于处理物品时长单击回收站视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文