当前位置: 首页 > 知识库问答 >
问题:

使用Kotlin for Android进行数据绑定的问题

郭通
2023-03-14
Error:(66, 0) Could not find method kapt() for arguments [com.android.databinding:compiler:2.0.0-beta6] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler

我的gradle文件中有以下数据绑定依赖项

dependencies {
 ...
 kapt 'com.android.databinding:compiler:2.0.0-beta6'
} 

kapt {
    generateStubs = true
}

共有1个答案

蒋畅
2023-03-14

编辑:在Kotlin 1.1和Kapt3中,它的工作方式略有不同:

在项目build.gradle中:

buildscript {

   ext {
       ...
       plugin_version = "2.3.1"
       kotlin_version = "1.1.2-3"
       ...
   }

   ...

   dependencies {
       classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
       classpath "com.android.tools.build:gradle:$plugin_version"
       ...
   }
}

在应用程序build.gradle:

    apply plugin: "kotlin-android"
    apply plugin: "kotlin-kapt"
    ...
    android {
      ...
      dataBinding {
            enabled = true
        }
      ...
    }

    dependencies {
       ...
       kapt "com.android.databinding:compiler:$plugin_version"
       ...
    }

只启用Android Studio插件是不够的,您还需要稍微调整您的gradle文件(添加并应用kotlin-gradle-plugin)这里是我使用Java和Kotlin数据绑定的gradle文件的摘录

在项目build.gradle中:

buildscript {
...
 dependencies {
   classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.5"
   classpath 'com.android.tools.build:gradle:2.2.3'
   ...
 }
}

在应用程序build.gradle:

apply plugin: "kotlin-android"
...
android {
  ...
  dataBinding {
        enabled = true
    }
  ...
}
kapt {
    generateStubs = true
}
dependencies {
   ...
   kapt "com.android.databinding:compiler:2.2.0"
   ...
}
 类似资料:
  • 6.2. 使用DataBinder进行数据绑定 DataBinder是构建于BeanWrapper之上。[3]。 [3] 更多相关信息请查看the beans章节

  • 本文向大家介绍weui中的picker使用js进行动态绑定数据问题,包括了weui中的picker使用js进行动态绑定数据问题的使用技巧和注意事项,需要的朋友参考一下 解决方案; picker和Select组件是通过input标签绑定,可以先通过input的父级元素移除input标签,重新插入input标签,最后重新初始化picker或Select组件。 js代码: ps:weui之Picker的

  • 我的要求是对输入文件中给出的数据运行测试。为了实现,我正在使用 请帮助确定我做错了什么。

  • 当我尝试将数据绑定导入MainActivity时,会出现“未解析引用:数据绑定”错误。 主活动文件: 其中包名是我的包名。包名被识别,只有数据绑定不被识别,因此它显示为红色。 我想正是因为这个,碎片登录绑定 也不被承认。 项目build.gradle文件: 应用程序build.gradle文件: 我已经尝试遵循这个codelabhttps://codelabs.developers.google.

  • 我尝试将属性和一些数据绑定到模板,但下面的代码不起作用。我需要的是呈现n个模板的数量取决于printedForms对象的数量,并在每个模板中实现来自适当对象的数据。请告诉我我的代码有什么问题。 注意:控制台中有如下警告:[Vue warn]:计算表达式“printedForm.docNumber”时出错:TypeError:无法读取未定义(在组件中找到)的属性“docNumber”) 我的VueJ

  • 当我将android Studio 3.2.0更新为3.2.1时。我已经使用数据绑定,当运行项目时会显示这样的错误,如果我错了,请建议我。 要求:项目:应用 项目格拉德尔 应用程序。格拉德尔 如果我错了,请建议我。