Tag: android databinding

数据绑定validation器错误,由Ilhasoft + Kotlin

我试图用Kotlin使用Android库“Ilhasoft数据绑定validation器” ,但我得到这个错误:未解决的参考:validation。 这是我的根build.gradle: buildscript { ext.kotlin_version = ‘1.1.60’ ext.android_plugin_version = ‘3.0.0’ ext.data_binding_validator_verson = ‘1.0.0’ repositories { jcenter() google() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.0’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” } } allprojects { repositories { jcenter() maven { url ‘https://jitpack.io’ } } } task clean(type: Delete) { delete rootProject.buildDir } 这是我的APP build.gradle: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply […]

无法将硬编码的字符串值传递给Kotlin中的@BindingAdapter

将我的Android应用程序Java代码转换为Kotlin,并使用数据绑定将自定义字体设置为TextViews。 我曾经从XML传递字符串如下 app:customFont=”@{‘harmonia-semibold.ttf’}” 在将@BindingAdapter转换为kotlin之后,上面的代码行不能正常工作,并且抛出了expr或者lambdaexpression式,所以得到”’错误。 用getter方法取代硬编码的字符串值是完美的。 下面是我的绑定适配器,不知道为什么不采取硬编码的字符串 @JvmStatic @BindingAdapter(“app:customFont”) fun setCustomFont(textView: TextView, font: String) { textView.typeface = Typeface.createFromAsset(textView.context.assets, font) } 谢谢

如何覆盖kotlin的setter方法?

class loginViewModel(): BaseObservable() { var errorEmail:String?=null var errorPassword:String?=null var userEmailAddress:ObservableField = ObservableField() var userPassword:ObservableField = ObservableField() fun setUserEmailAddress(email:ObservableField){ this.userEmailAddress=email /* To get value of edittext enterd by user, This Updates the value of userEmail on Every LEtter Entered by User*/ notifyPropertyChanged(R.id.email_address) notifyPropertyChanged(BR.errorEmail) } } 但是得到错误 Platform declaration clash: The following declarations have the same JVM […]

无法生成视图绑定器java.lang.IndexOutOfBoundsException

使用数据绑定库时出现以下错误。 我谷歌搜索,但它看起来像一个新的错误。 有谁知道是什么原因造成的? FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:compileDebugJavaWithJavac'. > java.lang.RuntimeException: failure, see logs for details. cannot generate view binders java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at android.databinding.tool.ext.ExtKt.androidId(ext.kt:76) at android.databinding.tool.writer.LayoutBinderWriterKt$readableName$2.invoke(LayoutBinderWriter.kt:129) at android.databinding.tool.writer.LayoutBinderWriterKt$readableName$2.invoke(LayoutBinderWriter.kt) at android.databinding.tool.ext.LazyExt.getValue(ext.kt:27) at android.databinding.tool.writer.LayoutBinderWriterKt.getReadableName(LayoutBinderWriter.kt) at android.databinding.tool.LayoutBinder.<init>(LayoutBinder.java:203) at android.databinding.tool.DataBinder.<init>(DataBinder.java:52) at android.databinding.tool.CompilerChef.ensureDataBinder(CompilerChef.java:86) […]

监听器绑定; 找不到Setter

我想实现监听器绑定 ,但是当我运行我的代码时,我得到以下错误: Caused by: android.databinding.tool.util.LoggedErrorException: Found data binding errors. ****/ data binding error ****msg:Cannot find the setter for attribute 'android:onClick' with parameter type lambda on android.widget.Button. file:~/GithubBrowser/app/src/main/res/layout/loading_state.xml loc:30:31 – 30:52 ****\ data binding error **** 这是有问题的布局文件: <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <data> <import type="com.example.app.data.model.Resource"/> <import type="com.example.app.data.model.Status"/> <variable name="resource" type="Resource"/> <variable name="callback" type="com.example.app.ui.common.RetryCallback"/> </data> <LinearLayout […]

詹金斯:Android项目未能建立(生成数据绑定/匕首类失败)

我工作场所的安卓团队正试图让詹金斯工作,但詹金斯正在建设项目的麻烦。 该项目使用下面的命令行在我们的开发机器上正确构建,但无法在Jenkins机器上构建。 注意:我们有另外一个项目,詹金斯能够建立包含数据绑定和匕首的项目。 我们收到的错误是 :app:compileDevDebugJavaWithJavac/<some-file-path> – <some_class>:27: error: cannot find symbol import <DaggerGeneratedClass>; 我们知道数据绑定类没有被生成。 如果我们到我们的build目录“intermediates / classes // debug // databinding”,我们看不到任何东西,但是在我们的开发机器上,数据绑定类生成了。 有谁知道如何解决这个问题? 命令行来建立项目 ./gradlew assemble

如何在Android中获取ObservableField的值

您好我有我的java代码中的这个ObservableField 。 我想通过调用get方法来获得它的价值。 val email = ObservableField<String>() 这可以使用下面的方法来完成。 我很困惑,不知道我应该在这里做一个getter来获得它的价值吗? 或者有不同的标准方法来获取ObservableField的值我也在我的应用程序中使用RxJava。 fun login(view: View) { val emailVal = email.get() }

使用DataBinding库设置背景颜色资源或null

我想使用DataBinding库在我的视图设置背景颜色或null ,但我得到一个异常,试图运行它。 java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference 这是我如何做到的: android:background="@{article.sponsored ? @color/sponsored_article_background : null}" 我也尝试设置转换,但没有奏效。 @BindingConversion public static ColorDrawable convertColorToDrawable(int color) { return new ColorDrawable(color); } 最终,我用@BindingAdapter解决方法解决了它,但我想知道如何正确地做到这一点。

在android中使用数据绑定在android:src中为ImageView设置drawable资源ID

我试图设置可绘制的资源ID到android:使用数据绑定ImageView的src 这是我的目标: public class Recipe implements Parcelable { public final int imageResource; // resource ID (eg R.drawable.some_image) public final String title; // … public Recipe(int imageResource, String title /* … */) { this.imageResource = imageResource; this.title = title; } // … } 这是我的布局: <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <data> <variable name="recipe" type="com.example.android.fivewaystocookeggs.Recipe" /> </data> […]

Android数据绑定构建失败后,Gradle插件更新迁移到annotationProcessor

为了在我的Android Studio版本中支持即时运行,我需要将我的Gradle插件从版本2.2.3 升级到2.3.3 我知道我应该迁移到annoationProcessor ,我相信我已经正确地按照该指南 这样做后, Android DataBinding代码生成失败 先前链接的迁移指南指出,我需要的只是 确保你在Android Gradle 2.2插件或更新 从构建脚本中删除android-apt插件 将所有apt,androidTestApt和testApt依赖关系更改为新的格式 这应该是成功构建项目所需要的一切。 然而它并没有建立。 建立输出 Gradle版本在12s 481ms内完成了101个错误和23个警告 所有的错误都遵循相同的模式: C:\用户\ FooAdapter.java 错误:package com.example.app.databinding不存在 错误:找不到符号类ItemFooBinding 一个有趣的消息可以在构建控制台中找到: 警告:以下选项不被任何处理器识别:'[android.databinding.minApi,android.databinding.enableDebugLogs,android.databinding.sdkDir,android.databinding.bindingBuildFolder,android.databinding.enableForTests,android.databinding.modulePackage, android.databinding.generationTestVariant] [android.databinding.printTestVariant] [android.databinding.printTestVariant] [android.databinding.printTestVariant] 我想指出… 我认为我没有在一些XML文件 ,绑定表达式或命名问题的错误。 当我使用旧的gradle插件版本切换回Git分支(以及所有其他源文件是最新的)时,同一组源代码和XML构建, 我确实增加了这里所讨论的输出构建错误的限制,尽管现在看起来并不相关,因为你可以看到,我目前只有“101”错误。 🙂 附加信息 以下差异显示了我如何修改我的Gradle文件: build.gradle DiffChecker链接 app/build.gradle DiffChecker链接 此外,作为一个快速概述,这里是项目使用的一些“更有趣的”插件和库列表: 科特林 Android数据绑定 领域 改造 匕首 黄油刀(我知道…) Multidex支持库 有没有人有线索可能是什么问题? 任何帮助或想法将非常感谢!