1

我仍在学习 Android 编程并试图理解 ViewModel 的概念。视图模型背后的主要动机(在几乎所有的视图模型教程中)是保持数据与生命周期事件无关。我发现 ListView 或 Recyclers 下使用的适配器也提供此功能,因为在新创建的 Activity 中创建的视图使用相同的适配器。我想知道两者之间的确切区别是什么?

根据我目前的理解,ViewModel 能够为 Activity 中的所有视图提供与生命周期无关的数据,但是 Adapter(尽管它们可以提供相同的东西)只能在某些视图上工作。我的理解正确吗?

4

1 回答 1

1

根据我目前的理解,ViewModel 能够为 Activity 中的所有视图提供与生命周期无关的数据,但是 Adapter(尽管它们可以提供相同的东西)只能在某些视图上工作。我的理解正确吗?

是的。

简单地说:

回收器视图适配器:

提供从特定于应用程序的数据集到在 RecyclerView 中显示的视图的绑定

列表适配器:

扩展,它是 a和支持列表的数据Adapter之间的桥梁ListView

视图模型:

旨在以生命周期意识的方式存储和管理与 UI 相关的数据。它还允许数据在配置更改(例如屏幕旋转)中保留下来。

于 2018-06-19T01:26:52.350 回答