EditText LiveData 双向绑定
EditText LiveData Two-way binding
好的,所以我有一个 ViewModel
和一个 getter getTitle()
returns MutableLiveData<String>
。
<EditText
style="@style/Widget.EditText.FullWidth"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/label_title"
android:inputType="text"
android:text="@={ viewModel.title }" />
一开始效果很好:EditText
包含 MutableLiveData
首次出现时的值。但是,如果此数据的值是使用 MutableLiveData.setValue()
更新的(例如由另一个 EditText
或来自我的代码),则文本框内的值不会更改。我该如何解决这个问题?
这在支持正确绑定到 LiveData
对象的 new version of Android Studio 中正常工作。
好的,所以我有一个 ViewModel
和一个 getter getTitle()
returns MutableLiveData<String>
。
<EditText
style="@style/Widget.EditText.FullWidth"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/label_title"
android:inputType="text"
android:text="@={ viewModel.title }" />
一开始效果很好:EditText
包含 MutableLiveData
首次出现时的值。但是,如果此数据的值是使用 MutableLiveData.setValue()
更新的(例如由另一个 EditText
或来自我的代码),则文本框内的值不会更改。我该如何解决这个问题?
这在支持正确绑定到 LiveData
对象的 new version of Android Studio 中正常工作。