我想创建 ChipGroup 2 路绑定适配器。我复制了默认的 RadioGroup 绑定适配器并进行了一些更改,但它不适用于两种方式。如果以编程方式将数据设置为 observable,ChipGroup 会从中检索更改。但是手动芯片选择不会将更改设置为可观察的。
这是我的适配器
@InverseBindingMethods(InverseBindingMethod(type = ChipGroup::class, attribute = "android:checkedButton", method = "getCheckedRadioButtonId"))
class ChipGroupBindingAdapter {
companion object {
@JvmStatic
@BindingAdapter("android:checkedButton")
fun setCheckedChip(view: ChipGroup?, id: Int) {
if (id != view?.checkedChipId) {
view?.check(id)
}
}
@JvmStatic
@BindingAdapter(value = ["android:onCheckedChanged", "android:checkedButtonAttrChanged"], requireAll = false)
fun setChipsListeners(view: ChipGroup?, listener: ChipGroup.OnCheckedChangeListener?,
attrChange: InverseBindingListener?) {
if (attrChange == null) {
view?.setOnCheckedChangeListener(listener)
} else {
view?.setOnCheckedChangeListener { group, checkedId ->
listener?.onCheckedChanged(group, checkedId)
attrChange.onChange()
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
布局文件:
<android.support.design.chip.ChipGroup …Run Code Online (Sandbox Code Playgroud) 我的项目需要读取settings.gradle中的json文件,然后将其传递给build.gradle文件。我尝试使用 gradle 全局变量“project”来完成此操作,但它在 settings.gradle 中不可用。另外,settings.gradle 中有“rootProject”变量,但它是只读的。
是否可以更改EditText自动填充高亮颜色?默认情况下,它具有黄色背景,可能与应用程序设计不兼容.