2016-03-05 10 views
13

Ich konvertiere meine Android-Anwendung von Java nach Kotlin. Es funktioniert einwandfrei, außer wenn ich versuche, eine Datei zu konvertieren, die Android Data Binding Library verwendet. In diesem Fall klagt Android Studio bei der Kompilierung über ungelöste Referenz:Android Datenbindung und Kotlin

Error:(10, 44) Unresolved reference: AdapterHistoriesListBinding 

Wo AdapterHistoriesListBinding der Name einer Datei, die von der Datenbindung Bibliothek erzeugt werden soll. Es funktionierte richtig in Java, also denke ich, dass es ein Problem mit Kotlin ist.

Ich benutze Android Studio 2.0.0-Beta6, Android Gradle Plugin 2.0.0-Beta6 und Kotlin 1.0. Gibt es etwas zu tun, um die Data Binding Library mit Kotlin arbeiten zu lassen?

Antwort

19

Nur wenige Schritte zum Einrichten der Datenbindung in Ihrem Kotlin-Projekt.

  1. Sagen kapt Databinding-Compiler in Modulabhängigkeiten zu verwenden:

    dependencies { 
        kapt 'com.android.databinding:compiler:2.0.0-beta6' 
    } 
    
  2. Als Shintaro Katafuchi, erwähnt Sie kapt sagen sollte Stubs zu erzeugen.

    kapt { 
        generateStubs = true 
    } 
    
2

Haben Sie versucht, folgende Einstellung in Ihrem build.gradle hinzuzufügen?

kapt { 
    generateStubs = true 
} 
+2

Ich habe gerade versucht, hinzufügen, dass in meinem Modul 'build.gradle' (außerhalb der' android' Block), mein Projekt gereinigt, aber das Ergebnis ist das gleiche. –

0

Ich habe recenly Blog für Data Binding Android mit Kotlin here

Verwenden Classpath

classpath 'com.android.tools.build:gradle:3.0.0-beta2' 

Abhängigkeit

apply plugin: 'kotlin-android' 

apply plugin: 'kotlin-android-extensions' 

apply plugin: 'kotlin-kapt' 

android { 
    ... 
    dataBinding { 
     enabled = true 
    } 
} 

dependencies { 
    ...... 
    kapt 'com.android.databinding:compiler:2.3.1' 
} 
schreiben 10

für mehr Details check out this post