【发布时间】:2026-01-06 12:10:02
【问题描述】:
我已经用 MVVM 模式实现了 DataBinding,这是我的 ViewModel 类。
public class MainViewModel extends BaseObservable {
private String data, data1;
@Bindable
public String getData1() {
return data1;
}
public void setData1(String data1) {
this.data1 = data1;
}
@Bindable
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
notifyPropertyChanged(BR.data);
}
}
现在的问题是我可以在那里看到BR.data,但无法获得BR.data1,如何将notifyPropertyChanged() 用于data1 变量。
我尝试清理项目,也尝试重建它,但没有帮助。
这是我的build.gradle 文件
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
dataBinding {
enabled = true
}
defaultConfig {
...
...
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
}
【问题讨论】:
-
您可以发布您的
gradle文件吗?并尝试Invalidate Caches and Restart。 -
但这是关于 BR 类的,我对 BR 类没有任何错误,只是没有显示所有变量。还是让我试试
Invalidate Caches and Restart -
您是否尝试使用
BR.data1来查看它是否可以编译。 (可能是工作室的错误) -
@yigit 是的,我猜它的工作室错误
标签: android data-binding android-databinding android-mvvm