Android setOnItemListener不打开布局

Android setOnItemListener不打开布局,android,android-studio,kotlin,android-recyclerview,adapter,Android,Android Studio,Kotlin,Android Recyclerview,Adapter,当我按下RecyclerView中的某个项目时,我试图打开一个“弹出窗口”。但当我按下时,我指示的布局没有打开。但如果我敬酒,效果会很好。有什么问题? 我希望我已经组装的布局显示为“弹出窗口”。稍后我将索引Firebase数据,但首先,首先 Mainadapter.kt 类MainAdapter(私有val上下文:context):RecyclerView.Adapter() { private var dataList=mutableListOf() 私有lateinit变量tituloCon

当我按下RecyclerView中的某个项目时,我试图打开一个“弹出窗口”。但当我按下时,我指示的布局没有打开。但如果我敬酒,效果会很好。有什么问题? 我希望我已经组装的布局显示为“弹出窗口”。稍后我将索引Firebase数据,但首先,首先

Mainadapter.kt

类MainAdapter(私有val上下文:context):RecyclerView.Adapter()
{
private var dataList=mutableListOf()
私有lateinit变量tituloContacto:LinearLayout
私有变量myDialog=对话框(上下文)
fun setListData(数据:可变列表){
数据列表=数据
}
override onCreateViewHolder(父级:ViewGroup,viewType:Int):MainViewHolder{
val view=LAYOUTINGFLATER.from(上下文)。充气(R.layout.item_行,父项,false)
var vHolder=主视图支架(视图)
/*
myDialog=对话(上下文)
myDialog.setContentView(R.layout.dialog_notifications)
var dialog\u titulo\u tv=myDialog.findviewbyd(R.id.dialog\u titulo)作为文本视图
var dialog\u description\u tv=myDialog.findViewById(R.id.dialog\u description)作为文本视图
var dialog\u imagen\u tv=myDialog.findviewbyd(R.id.dialog\u img)作为ImageView
dialog\u titulo\u tv.text=数据列表[vHolder.adapterPosition].nombre
对话框\u description\u tv.text=数据列表[vHolder.adapterPosition].description
//字符串imageURL对话框\u imagen\u tv.setImageResource=
数据列表[vHolder.adapterPosition].imageUrl*/
vHolder.tituloContacto.setOnClickListener(View.OnClickListener{
myDialog=对话(上下文)
myDialog.setContentView(R.layout.dialog_notifications)
//var dialog\u titulo\u tv=myDialog.findviewbyd(R.id.dialog\u titulo)作为文本视图
//var dialog\u description\u tv=myDialog.findViewById(R.id.dialog\u description)作为文本视图
//var dialog\u imagen\u tv=myDialog.findviewbyd(R.id.dialog\u img)作为ImageView
Toast.makeText(上下文,“Hola”,Toast.LENGTH\u SHORT.show())
})
返回主视图保持架(视图)
}
重写getItemCount():Int{
如果(dataList.size>0)返回{
dataList.size
}否则{
0
}
}
覆盖BindViewHolder(支架:MainViewHolder,位置:Int){
val用户=数据列表[位置]
holder.bindView(用户)
}
内部类MainViewHolder(itemView:View):RecyclerView.ViewHolder(itemView){
变量tituloContacto=itemView.findViewById(R.id.item\u Notification)作为线性布局
fun bindView(用户:Usuario){
Glide.with(context).load(user.imageUrl).into(itemView.circleImageView)
itemView.txt_title.text=user.nombre
itemView.txt_desc.text=user.description
}
}
}

mydialog.show()需要像mydialog.show()一样显示对话框,并通过bindview方法中XML no t中的数据绑定设置用户数据
class MainAdapter(private val context: Context) : RecyclerView.Adapter<MainAdapter.MainViewHolder>() 
{

private var dataList = mutableListOf<Usuario>()
private lateinit var tituloContacto: LinearLayout
private var myDialog = Dialog(context)

fun setListData(data:MutableList<Usuario>){
    dataList = data
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MainViewHolder {
val view = LayoutInflater.from(context).inflate(R.layout.item_row, parent, false)
var vHolder = MainViewHolder(view)



    /*
    myDialog = Dialog(context)
    myDialog.setContentView(R.layout.dialog_notificaciones)
    var dialog_titulo_tv = myDialog.findViewById(R.id.dialog_titulo) as TextView
    var dialog_descripcion_tv = myDialog.findViewById(R.id.dialog_descripcion) as TextView
    var dialog_imagen_tv = myDialog.findViewById(R.id.dialog_img) as ImageView
    dialog_titulo_tv.text = dataList[vHolder.adapterPosition].nombre
    dialog_descripcion_tv.text = dataList[vHolder.adapterPosition].descripcion
    // STRING imageURL  dialog_imagen_tv.setImageResource = 
    dataList[vHolder.adapterPosition].imageUrl*/


    vHolder.tituloContacto.setOnClickListener(View.OnClickListener {
    myDialog = Dialog(context)
    myDialog.setContentView(R.layout.dialog_notificaciones)
    //  var dialog_titulo_tv = myDialog.findViewById(R.id.dialog_titulo) as TextView
    //  var dialog_descripcion_tv = myDialog.findViewById(R.id.dialog_descripcion) as TextView
    // var dialog_imagen_tv = myDialog.findViewById(R.id.dialog_img) as ImageView
    Toast.makeText(context, "Hola", Toast.LENGTH_SHORT).show()
    })
   return MainViewHolder(view)
   }

   override fun getItemCount(): Int {
   return if(dataList.size > 0){
       dataList.size
   }else{
       0
   }
   }

   override fun onBindViewHolder(holder: MainViewHolder, position: Int) {
   val user = dataList[position]
   holder.bindView(user)
   }

   inner class MainViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){

   var tituloContacto = itemView.findViewById(R.id.item_notificacion) as LinearLayout


   fun bindView(user: Usuario){
       Glide.with(context).load(user.imageUrl).into(itemView.circleImageView)
       itemView.txt_title.text = user.nombre
       itemView.txt_desc.text = user.descripcion
   }
   }

   }