【发布时间】:2020-01-13 06:57:24
【问题描述】:
【问题讨论】:
-
在调用 item.onLongClickListener 时在 Recycler 视图适配器的视图持有者类中创建回调。在activity中,实现这个回调函数即可。
标签: android android-studio kotlin android-recyclerview contextmenu
【问题讨论】:
标签: android android-studio kotlin android-recyclerview contextmenu
您可以在onBindViewHolder 中尝试这样cvCarIcon 可以替换为您所在行的rootlayout。甚至你可以用长点击监听器处理
holder.cvCarIcon.setOnClickListener{
val popup = PopupMenu(mContext, holder.cvCarIcon)
popup.inflate(R.menu.options_menu)
popup.setOnMenuItemClickListener(object : PopupMenu.OnMenuItemClickListener() {
fun onMenuItemClick(item: MenuItem): Boolean {
when (item.getItemId()) {
R.id.menu1 ->
return true
else -> return false
}
}
})
popup.show()
}
【讨论】:
我通过将此代码添加到 ViewHolder 类来解决此问题,以显示 弹出菜单 两个项目删除和取消与 资源文件(菜单 xml 文件) 命名为 click_menu
init{
V.tV.setOnLongClickListener {
// V is View variable and tv is name of textView
val pop= PopupMenu(V.context,it)
pop.inflate(R.menu.click_menu)
pop.setOnMenuItemClickListener {item->
when(item.itemId)
{
R.id.delete->{ }
R.id.cancel->{ }
}
true
}
pop.show()
true
}
}
【讨论】: