3

我刚刚将我的一个项目的 AndroidStudio 从 2.3 版本更新到 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)extends BaseObservable

请注意,它以前工作正常,当我更新AndroidStudio时它停止工作。我尝试了清理/构建无效/重新启动选项,但没有运气。我真的很感激任何关于我所缺少的东西的指示。

4

3 回答 3

1

就我而言,问题不止一个。我的应用程序使用了许多位于不同 repo 上的库模块。所以我更新了每个模块以使用相同的 gradle 版本(我用过3.1.0)。然后我还更新了数据绑定库版本。 dataBinding { enabled = true version '2.3.3' } 希望它会帮助别人。

于 2018-01-11T15:25:50.597 回答
0

我遇到了同样的问题,花了几个小时试图找出与微调器绑定和反向绑定相关的代码有什么问题。

将Android studio升级到3.0.1并升级Gradle后,编译错误消失了。

于 2018-02-16T04:14:31.477 回答
-1

我对数据绑定 3.1.0-alpha07/Android Studio 3.1 Canary 7 也有同样的问题,我也尝试过清理/重启。我尝试降级到 3.1.0-alpha06,没有任何效果。临时有效的唯一解决方法是删除每个有错误的数据绑定行,编译,然后重新放置它们。

于 2018-01-11T10:43:05.543 回答