setOnItemListener не открывает Layout - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь открыть всплывающее окно, когда я нажимаю на элемент в RecyclerView. Но при нажатии указанная мной раскладка не открывается. Но если я поставлю тост, он отлично работает. в чем проблема? Я хочу, чтобы макет, который я уже собрал, должен отображаться как «PopUp». Позже я буду индексировать данные Firebase, но сначала, сначала.

Mainadapter.kt

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

   }
...