我想我已經找到了一個使用kotlin for android的怪癖,或者在我對語法的理解上存在一些空白。Kotlin Android Button.onClickListener導致NoSuchMethodError
試圖設置一個按鈕的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)
任何人都知道怎麼了代碼?