Kotlin добавляет пользовательский прослушиватель для доступа к виджетам на Android

Я новичок в Kotiln, и этот код – простой класс, который я использую на Android. В этом классе я хочу, чтобы простой прослушиватель обнаруживал клики по элементу внутри класса, например, активности, фрагмента или адаптера. Моя проблема в том, что я могу определить этот слушатель для виджета circleProgressView.

 class DownloadProgressView : RelativeLayout { var progressListener: ((downloading: Boolean) -> Unit)? = null private var downloading = false constructor(context: Context?) : super(context) { init() } constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) { init() } constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) { init() } private fun init() { LayoutInflater.from(context).inflate(R.layout.download_progress_layout, this) circularProgressView.setOnClickListener { downloading = !downloading setProgressViews(downloading) progressListener?.invoke(downloading) //if listener!=null then onItemClicked.onClick(); } } } 

Как я могу узнать, нажал ли пользователь на circularProgressView внутри себя?

Я пытаюсь реализовать этот интерфейс и использовать его внутри Kotlin:

 public interface OnItemClickListener { void onClick(int position); } 

Для init progreessListener используйте следующий код

 var progressListener: OnItemClickListener? = null set 

Для вызова onClick используйте: progressListener?.onClick(downloading)

Файл интерфейса:

 public interface OnItemClickListener { void onClick(boolean download); } 

Для реализации интерфейса используйте следующий код:

 var onItemClickInterface : OnItemClickListener = object : OnItemClickListener { override fun onClick(download: Boolean) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } }