xml onClick中的Kotlin不起作用

我学习kotlin,现在对我来说不是一会儿。 我有xml

<ImageView android:id="@+id/aries" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:tag="1" android:onClick="clickItemHoro" android:src="@drawable/aries" /> 

和片段

 class ChooseYourHoroscope : Fragment(){ override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_welcome_old, container, false) return view; } fun clickItemHoro(v: View?){ Log.e("clickItemHoro", v!!.tag.toString()) } } 

当我点击按钮我有错误:

无法在父级或祖先中找到方法clickItemHoro(View)上下文android:onClick属性在视图类android.support.v7.widget.AppCompatImageView上定义了ID为'aries'

为什么发生? 代码变化简单,但它不工作,我不明白为什么

尝试使用Kotlin扩展插件,它应该工作。

在build.gradle(app)添加apply plugin: 'kotlin-android-extensions'

 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' 

然后将其导入MainActivity.kt

 import kotlinx.android.synthetic.main.activity_main.* 

应用插件:'kotlin-android-extensions'必须使用kotlin扩展然后它将工作

在Gradle文件中添加

 apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' 

然后活动添加

  import kotlinx.android.synthetic.main.activity_main.* 

如上所述,添加Kotlin扩展是一个好主意,另外,您可以在代码中直接在ImageView上设置onClickListener,而不是在xml文件中声明该方法: onClick

aries.setOnClickListener { doSomething() }