【发布时间】:2017-11-04 07:48:20
【问题描述】:
我想我发现了使用 kotlin for android 的一个怪癖,或者我对语法的理解存在一些差距。
尝试为按钮设置onClickListener 会抛出NoSuchMethodError
这是错误代码
button.setOnClickListener(Button.OnClickListener {
fun onClick(view: View){
val intent : Intent = Intent(this,DetailActivity::class.java)
if(obj is String) {
intent.putExtra("Topic", obj)
}
startActivity(intent)
}
})
这是输出的堆栈跟踪
java.lang.NoSuchMethodError: No static method OnClickListener(Lkotlin/jvm/functions/Function1;)Landroid/view/View$OnClickListener; in class Landroid/widget/Button; or its super classes (declaration of 'android.widget.Button' appears in /system/framework/framework.jar:classes2.dex)
有人知道怎么回事吗?
【问题讨论】: