эквивалентный интерфейс java на kotlin

Я новичок в Kotlin и я пытаюсь понять, как я могу реализовать java-интерфейс на kotlin, я использую это на android,

 public interface OnClickedItemListener { void onClick(boolean state); } 

OnClickedItemListener – это мой пользовательский интерфейс, который я хочу реализовать, в kotlin у меня есть этот класс:

 class MyProgressView : RelativeLayout { 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) cusotmView.setOnClickListener { } } } 

в том, что эквивалентно этим трескам, например:

 class MyProgressView : RelativeLayout { 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) cusotmView.setOnClickListener { /* if(onitemClickListener!=null) onitemClickListener.onClick() */ } } /* public interface OnitemClickListener{ void onClick(); } public static void setOnitemClickListener(OnitemClickListener listener){ onitemClickListener = l; } */ } 

Solutions Collecting From Web of "эквивалентный интерфейс java на kotlin"

используйте setOnClickItemListener в своей деятельности.

 class MyProgressView : RelativeLayout, OnClickedItemListener { var onClickItemListener: OnClickedItemListener? = null 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) } override fun onClick(state: Boolean) { //do something on onclick } fun setOnClickedItemListener(onclickItemListener: OnClickedItemListener) { this.onClickItemListener = onclickItemListener } } 

Надеюсь, это может вам помочь.