Когда вы используете setOnLongClickListener { /* your code here */ }
в kotlin, это эквивалентно:
setOnLongClickListener(new OnLongClickListener() {public boolean onLongClick(View v){ /* your code here */ }});
в Java
Поэтому, когда вы делаете это:
viewHolder.itemView.textView_from_row.setOnLongClickListener {
Toast.makeText(this, "Message copied", Toast.LENGTH_LONG).show()
....
}
Это эквивалентно этому:
setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(this, "Message copied", Toast.LENGTH_LONG).show()
}
});
Как видите, this
в приведенном выше коде не относится к типу Context
, оно относится к типу OnLongClickListener
!
Вы можете найти контекст, используя имеющееся у вас представление:
Toast.makeText(viewHolder.itemView.context, "Message copied", Toast.LENGTH_LONG).show()