Kotlin в xml onClick не работает

Я изучаю котлин, а теперь для меня не простенький момент. У меня 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 Extensions, он должен работать.

в build.gradle (app) add 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 extenstion. Тогда он будет работать

В файле Gradle добавьте

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

затем добавьте активность

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

Как уже упоминалось выше, рекомендуется добавить расширения Kotlin, кроме того, вы можете установить onClickListener в ImageView прямо в свой код вместо объявления метода в ваших xml-файлах: onClick :

aries.setOnClickListener { doSomething() }

Intereting Posts
Компилировать Groovy и Kotlin? Интерфейс Kotlin представляет собой класс java: случайное переопределение Как вы создаете многоплатформенную сборку Kotlin? Поддержка Lost Kotlin в Intellij Idea 14.1 где поставить скрипт, который запускается во всех / некоторых действиях в android? Что такое kotlin, равное полю аннотации Java с ограниченным типом подстановочного знака? почему kotlin использует === сравнить примитивный тип, равный друг другу, если они имеют одинаковое значение База данных Android для Android – неразрешенная ссылка @Entity и другие аннотации Как использовать объект Котлина путем отражения Переопределение функции с дженериками в котлине Заменить setter для переменной, определенной в конструкторе по умолчанию Kotlin lazy свойство в зависимости от другого свойства, инициализированного в init Поставщик контента в Android от Kotlin Создание публичного экземпляра частного внутреннего класса в Котлине Повторное включение будильника для точного в определенное время работы не работает