好的,开发人员,我有困难弄清楚如何和什么我应该做正确的,这样我就不会违反MVP的原则,所以我有以下情况。
显示对象列表的视图,当单击特定对象时,我的ViewHolder会告诉Presenter有关单击事件的信息。
我想要的是,当单击对象时,我希望启动一个新的Activity,它将显示被单击的特定对象。
选项1.
将单击对象的id传递给Interactor(我不知道该如何做)新启动的活动,其中将调用新的api调用,并将根据给定的id返回结果。
选项2.
另一方面,如果我不想进行新的api调用,并且只想简单地将Object传递给新活动的Iterator。
(对于进行新的api调用或传递对象有什么更好的性能?)?
如果我的任何选项看起来都不错,那么我应该如何正确地实现它们呢?
如果他们不是,那还有什么可供选择的呢?
发布于 2018-04-05 14:59:18
最好的选择是使用新的蓝图,其中包括LiveData形式的视图模型,视图模型中有用于在视图之间共享模型的特定机制。基本上,模型的关键是一个视图id,但是如果您有一个视图,然后有一些片段,它们都可以访问它。
从技术上讲,你可以控制钥匙:
final UserModel viewModel = ViewModelProviders.of(this).get(UserModel.class);
我喜欢的是,它解决了困扰MVC的范围界定问题:要么使用单例,要么到处传递数据。
https://stackoverflow.com/questions/49675359
复制相似问题