我刚从我的一个项目的2.3版本更新了AndroidStudio到3.0.1。当我尝试构建项目时,AndroidStudio现在抱怨数据绑定问题。我正在使用gradle类路径的alpha版本
com.android.tools.build:gradle:3.1.0-alpha07
Error:(67, 17) Cannot find the getter for attribute 'android:text' with value type java.lang.String on null.
它抱怨的行使用与EditText
的双向数据绑定。
<android.support.design.widget.TextInputEditText
android:id="@+id/groupNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/text_hint"
android:imeOptions="actionNext"
android:maxLength="@{viewModel.maxLength}"
android:maxLines="1"
android:text="@={viewModel.title}"
android:textColor="@color/red"
app:filter="@{viewModel.inputType}"/>
viewModel是parent(BaseViewModel)
扩展BaseObservable
的类的实例。
请注意,它之前工作正常,当我更新 AndroidStudio 时它停止工作。我尝试了清理/构建和无效/重新启动选项,没有运气。我真的很感激任何关于我缺少的指示。
答案 0 :(得分:1)
对于我的案例,有不止一个问题。我的应用程序使用了许多驻留在不同repo上的库模块。所以我更新了每个模块以使用相同的gradle版本(我使用3.1.0
)。
然后我还更新了数据绑定库版本。
dataBinding {
enabled = true
version '2.3.3'
}
希望它能帮助别人。
答案 1 :(得分:0)
我遇到了同样的问题,花了好几个小时试图找到与spinner的绑定和反绑定相关的代码有什么问题。
将Android Studio升级到3.0.1并升级Gradle后,编译错误消失了。
答案 2 :(得分:-1)
我对数据绑定3.1.0-alpha07 / Android Studio 3.1 Canary 7也有同样的问题 我也尝试过清洁/重启。我试图降级到3.1.0-alpha06,没有任何效果。 临时工作的唯一解决方法是删除每个带错误的数据绑定行,编译,然后重新放置它们。