我正在使用Android数据绑定,但是BR无法解析 这是我的虚拟视图模型
我已在我的应用程序gradle中启用了数据绑定
dataBinding {
enabled = true
}
gradle-wrapper.properties具有数据:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
这是我的视图模型
public class DummyViewModel extends BaseObservable {
private int mSomeValue = 0;
public void setValue(int value) {
mSomeValue = value;
//Here BR can not be resolved
notifyPropertyChanged(com.something.myapplication.BR.positive);
}
@Bindable
public boolean isPositive() {
return mSomeValue > 0;
}
}
这是Project gradle的classPath
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Android Studio version: 3.4
答案 0 :(得分:1)
如果您的XML有效,请尝试清理和重建。 AS有时可能需要一段时间才能协调数据绑定。如果仍然无法运行,则可能是其他地方的代码有错误。
XML应该看起来像这样:
<?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="viewModel"
type="com.something.myapplication.DummyViewModel"/>
</data>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="@{viewModel.positive ? View.VISIBLE : View.GONE}"
android:src="@drawable/something"/>
</RelativeLayout>
</layout>
答案 1 :(得分:0)
将您的项目转换为android x,然后删除旧的BR类并从下面的包中添加BR类 导入androidx.databinding.library.baseAdapters.BR