【发布时间】:2019-04-20 16:55:15
【问题描述】:
我有一个简单的应用程序 - Button - 它从 rest api 和一个显示该数据的 TextView 获取数据。我正在使用 MVVM 架构模式。当 ViewModel 收到带有获取数据的回调时,我将其设置为 ObservableField。不幸的是,它不会更新屏幕上的文本,但每当我旋转设备时,屏幕上的数据就会更新。
好了,废话不多说,我给你看代码:
视图模型
public class MyViewModel extends ViewModel{
private ObservableField<String> name = new ObservableField<>();
@Override
public void onListReceived(String username) {
super.onListReceived(list);
name.set(username);
}
public String getName() {
return name.get();
}}
在 XML 中:
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewModel.name}"
tools:text="some text"/>
据我阅读,我认为在“android:text="@{viewModel.name}"”和“{”之间的这一行android:text="@{viewModel.name}" 中应该是“=”,但是当我添加它时,清理项目并重建它,我得到了无法解决 DataBindingComponent 的错误。
有什么想法吗?
提前致谢!
【问题讨论】:
标签: android android-databinding