Android已经最近推出的体系结构组件,尤其是一个视图模型,这是
用于存储和管理与UI相关的数据,以便数据在配置更改(例如屏幕旋转)中幸免于难
在Google提供的示例中,ViewModel的使用方式如下:
public class MyActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
MyViewModel model = ViewModelProviders.of(this).get(MyViewModel.class);
model.getUsers().observe(this, users -> {
// update UI
});
}
}
Run Code Online (Sandbox Code Playgroud)
问题: ViewModel如何假设与数据绑定相关联?
我的意思是,在数据绑定的情况下,将会有一个binding为UI提供数据.
会是这样的:
...
model.getUsers().observe(this, users -> {
// update binding, that will auto-update the UI?
});
...
Run Code Online (Sandbox Code Playgroud)
您可以在布局 xml 文件中声明视图模型类型的变量。在您的 viewmodel 类中实现公共方法,通过这些方法将数据绑定到 ui。
然后你只需要在onCreate中将视图模型设置为绑定即可。当您在数据绑定中设置视图模型实例时,已加载到视图模型中的数据将被设置为重新创建的布局。
如果布局中有回收器视图,您可以在视图模型类中实现一些公共方法,例如 initRecyclerView() ,并在绑定中设置视图模型后在 onCreate() 中调用它,或者也可以通过数据绑定从视图模型设置适配器。
| 归档时间: |
|
| 查看次数: |
5765 次 |
| 最近记录: |