Я опробовал двухстороннее связывание данных Android в kotlin, но я не могу заставить его работать. У меня есть 2 EditText, и каждый из них должен обновить другой EditText.
Например: когда я ввожу «Test» в EditText1, EditText2 должен обновляться со значением из EditText1 плюс суффикс (e.g. TestSUFFIX)
и наоборот.
Это макеты для моего TextViews
<androidx.appcompat.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@={convertermodel.valueFrom}" />
<androidx.appcompat.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@={convertermodel.valueTo}" />
и это мой ViewModel
class ConverterModel : BaseObservable() {
@Bindable
var valueFrom: String? = null
get() {
return valueTo + "SUFFIX"
}
set(param) {
field = param
notifyPropertyChanged(BR.valueFrom)
}
@Bindable
var valueTo: String? = null
get() {
return valueFrom + "SUFFIX"
}
set(param) {
field = param
notifyPropertyChanged(BR.valueTo)
}
}
Это вызывает бесконечный цикл. Как я могу предотвратить это?