我正在创建一个示例应用程序(Last-Mvvm),以使用Android数据绑定学习(并可能显示)mvvm模式的用法。
我的ViewModel对象里面有一个活动。我还有一个RecyclerView适配器,其中包含一个项目的数组列表,这些项目将转换为另一个Viewmodel。我想将列表的状态保存在适配器内(用于旋转更改)。
所以:我应该在哪里保存它?活动里面?还是在活动的viewModel中?或者别的地方?
另外,还有另一件事并不清楚。直接从viewModel
执行rest调用(通过Retrofit)或数据库调用是否合适(因为我将使用接口),还是最好做成一个视图(活动)实现并执行所有调用的接口?
我会尽力解释
第一。所以:我应该在哪里保存它?活动里面?还是在活动的viewModel中?或者别的地方?
和
第二。直接从viewModel执行rest调用(通过Retrofit)或数据库调用是否合适(因为我会使用接口),还是最好做成一个视图(活动)实现并执行所有调用的接口?
关于文章的例子。
在下面的架构中,您可以看到OnClickListener
和的OnLongClickListener
实现RecyclerView
。
ClickListener
的根视图ViewHolder
。取决于实现ViewHolderWrapper
方式,可以替代HolderClickObservable
或取决于SelectionHelper
,ViewHolderWrapper
可以手动突出显示所选项目。SelectionHelper
负责保存选择状态并通知SelectionObserver
更改。第一。您可以通过与方法活动恢复适配器状态onSaveInstanceState()
和onRestoreInstanceState()
。
第二。您需要创建轻量级的ViewHolder,它仅负责绑定要查看的数据。可以在适配器或活动上执行操作。
另请参阅示例应用程序
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句