Я пытаюсь открыть всплывающее окно, когда я нажимаю на элемент в 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
}
}
}