我有两个名为“attribute_short”和“attribute_long”的属性。
我的吸气鬼和二传手。
@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}" />
在生成的数据绑定类中,碰巧有两个具有相同名称的方法,这会导致错误。
private android.databinding.InverseBindingListener attributeInpu = new android.databinding.InverseBindingListener() {
@Override
public void onChange() {
float callbackArg_0 = com.sample.Values.getText(attributeInput_short);
...
private android.databinding.InverseBindingListener attributeInpu = new android.databinding.InverseBindingListener() {
@Override
public void onChange() {
float callbackArg_0 = com.sample.Values.getText(attributeInput_long);
...
错误:
Error:(196, 56) error: variable attributeInpu is already defined in class FragmentInputBinding
如何解决此重复生成的方法名称问题?
答案 0 :(得分:4)
恕我直言,这可能与此报告的问题有关:http://code.google.com/p/android/issues/detail?id=212492
答案 1 :(得分:1)
似乎根据视图ID自动生成InverseBindingListener变量名。正如@BruceWayne所说,观点ID需要更短。我有同样的问题,这是我的解决方案。