Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用Kotlin为RecyclerView创建上下文菜单_Android_Android Studio_Kotlin_Android Recyclerview_Contextmenu - Fatal编程技术网

Android 如何使用Kotlin为RecyclerView创建上下文菜单

Android 如何使用Kotlin为RecyclerView创建上下文菜单,android,android-studio,kotlin,android-recyclerview,contextmenu,Android,Android Studio,Kotlin,Android Recyclerview,Contextmenu,我想使用Kotlin代码在长时间单击RecyclerView项时弹出上下文菜单 您可以在onBindViewHoldercvCarIcon中这样尝试,它可以替换为您行的rootlayout。甚至你也可以处理长时间的clicklistener holder.cvCarIcon.setOnClickListener{ val popup = PopupMenu(mContext, holder.cvCarIcon) popup.inflate(R.me

我想使用Kotlin代码在长时间单击RecyclerView项时弹出上下文菜单


您可以在
onBindViewHolder
cvCarIcon
中这样尝试,它可以替换为您行的rootlayout。甚至你也可以处理长时间的clicklistener

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文件)取消命名单击菜单

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
      }
}

调用item.onLongClickListener时,在Recycler视图适配器的视图持有者类中创建回调。在“活动”中,只需实现此回调函数。请检查: