2016-03-05 50 views
13

Tôi đang chuyển đổi ứng dụng Android của mình từ Java sang Kotlin. Nó hoạt động tốt, ngoại trừ khi tôi cố chuyển đổi một tệp đang sử dụng Thư viện ràng buộc dữ liệu Android. Trong trường hợp đó, Android Studio phàn nàn tại thời gian biên dịch về tài liệu tham khảo chưa được giải quyết:Android Data Binding và Kotlin

Error:(10, 44) Unresolved reference: AdapterHistoriesListBinding 

đâu AdapterHistoriesListBinding là tên của một tập tin đó nên được tạo ra bởi các Binding dữ liệu Thư viện. Nó hoạt động chính xác trong Java, vì vậy tôi đoán đó là vấn đề với Kotlin.

Tôi đang sử dụng Android Studio 2.0.0-beta6, Android Gradle Plugin 2.0.0-beta6 và Kotlin 1.0. Có điều gì cần làm để làm cho Thư viện ràng buộc dữ liệu hoạt động với Kotlin không?

Trả lời

19

Vài bước để thiết lập dữ liệu trong dự án Kotlin của bạn.

  1. Nói kapt sử dụng trình biên dịch liên kết dữ liệu trong mô-đun phụ thuộc:

    dependencies { 
        kapt 'com.android.databinding:compiler:2.0.0-beta6' 
    } 
    
  2. Như Shintaro Katafuchi đề cập, bạn nên nói với kapt để tạo cuống.

    kapt { 
        generateStubs = true 
    } 
    
2

Bạn đã thử thêm cài đặt sau vào build.gradle của mình chưa?

kapt { 
    generateStubs = true 
} 
+2

Tôi vừa thử thêm vào trong 'build.gradle' của mô-đun (bên ngoài khối' android'), đã làm sạch dự án của tôi, nhưng kết quả là như nhau. –

0

Tôi đã recenly viết Blog cho Binding dữ liệu Android với Kotlin here

Sử dụng Classpath

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

phụ thuộc

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' 
} 

để biết thêm chi tiết, hãy xem this post

Các vấn đề liên quan