问题是当使用ObservableBoolean与android databinding library一起使用时,无法将该值直接用作按钮的可用性属性。
要解决这个问题,可以创建一个自定义绑定适配器,并将ObservableBoolean值转换为按钮的可用性属性。
例如,创建名为'ButtonBindingAdapter”的类:
import android.databinding.BindingAdapter;
import android.widget.Button;
public class ButtonBindingAdapter {
@BindingAdapter("enabled")
public static void setButtonEnabled(Button button, boolean enabled) {
button.setEnabled(enabled);
}
}
然后在布局文件中使用以下代码来绑定观察变量并使按钮的可用性取决于变量值: