如何在环氧树脂中将 UI 更改反映到控制器的基础数据



我是Epoxy的新手,目前正在尝试一些用例来检查它是否适合我的项目。我知道设置为控制器的数据应该是不可变的。

在我的例子中,我有一个带有几个切换和复选框的视图,我想跟踪用户的交互,因为基于这些交互,我需要稍后创建我的网络请求。我在Epoxy的文档和示例项目中搜索了很多,但还没有找到一个正确的方法来做这件事的示例。

用户交互更改我的控制器的数据模型的正确方式是什么。

经过大量搜索,结果发现您应该将过去的列表复制(浅而非深(到控制器,并将数据(由用户交互(更改为新数据,然后再次将其传递给控制器。我只是把这个答案放在这里给任何一个偶然发现这个后的人

val newList = ArrayList(originalList.map { it.copy() })
newList.find { it.id == event.data.id }?.isMainToggleOn = !event.data.isMainToggleOn
controller.setData(newList)
originalList = newList

最新更新