【发布时间】:2017-12-30 19:14:48
【问题描述】:
我是Kotlin 的新手,我想知道如何在 kotlin 上实现 java 接口,我在 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;
}
*/
}
【问题讨论】: