Android 生成的数据绑定类有两个同名的方法,导致错误
我有两个名为“attribute\u short”和“attribute\u long”的属性 我的能手和二传手Android 生成的数据绑定类有两个同名的方法,导致错误,android,android-edittext,android-databinding,Android,Android Edittext,Android Databinding,我有两个名为“attribute\u short”和“attribute\u long”的属性 我的能手和二传手 @Bindable public float getAttribute_long() { return attribute_long; } public void setPricePerBoxSingle_long(float attribute_long) { this.attribute_long= attribute_l
@Bindable
public float getAttribute_long() {
return attribute_long;
}
public void setPricePerBoxSingle_long(float attribute_long) {
this.attribute_long= attribute_long;
notifyPropertyChanged(com.foo.bar.baz.BR.attribute_long);
}
@Bindable
public float getAttribute_short() {
return attribute_short;
}
public void setPricePerBoxSingle_short(float attribute_short) {
this.attribute_short= attribute_short;
notifyPropertyChanged(com.foo.bar.baz.BR.attribute_short);
}
和两个编辑文本:
<EditText
android:id="@+id/attributeInput_short"
...
android:text="@={values.attribute_short}" />
<EditText
android:id="@+id/attributeInput_long"
...
android:text="@={values.attribute_long}" />
错误:
Error:(196, 56) error: variable attributeInpu is already defined in class FragmentInputBinding
如何解决这个重复生成的方法名问题 我想这可能与报告的问题有关:似乎InverseBindingListener变量名是根据视图id自动生成的。正如@BruceWayne所说,视图id需要更短。我也遇到了同样的问题,这就是我的解决办法。我也遇到了同样的问题。但是,通过在xml中重命名变量,使视图Id稍微短一点,解决了这个问题。
Error:(196, 56) error: variable attributeInpu is already defined in class FragmentInputBinding