Si está utilizando la última versión l; .no tiene que agregar experimental = true.
en el nivel de proyecto Gradle
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21'
Y en el nivel de aplicación Gradle
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
y en dependencias ..
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.21'
e importar a continuación como
import kotlinx.android.synthetic.main.your_layout_file_name.view.*
y ejemplo
import kotlinx.android.synthetic.main.item_animal.view.*
class AnimalVH(parent: ViewGroup, layoutID: Int) : BaseViewHolder<Animal>(parent, layoutID) {
override fun bindData(animal: Animal) {
itemView.tv_animal.text = animal.title
}
}
donde BaseViewHolder es
abstract class BaseViewHolder<T>(parent: ViewGroup, layoutID: Int) : RecyclerView.ViewHolder(
LayoutInflater.from(parent.context).inflate(layoutID, parent, false)
) {
abstract fun bindData(model: T)
}