Я пытаюсь создать собственный адаптер привязки для общего представления, которое расширяет View
и реализует Checkable
.RadioButton
является примером, но я хотел бы сделать его универсальным, чтобы он работал с другими представлениями, которые можно проверить.
Если я использую RadioButton, он работает, однако, если я использую <T> where T: View, T: Checkable
, компилятор завершится с ошибкой: data binding error ****msg:Cannot find the setter for attribute 'bind:checked' with parameter type
Это моя неудачная попытка:
@BindingAdapter("bind:checked")
fun <T> setChecked(view: T, customClass: CustomClass) where T: View, T: Checkable {
view.isChecked = blah
}
И если я использую RadioButton вместо T, это сработает.
Есть ли способ сделать это универсальным?