Android mvp模式中,adapter应该放在什么位置?
比如说 某个activity中有个listview或者viewpager,那它需要的adapter应该放在activity中还是放在presenter内呢?
我理解的MVP view不应该和model有交互,也就是说adapter和从model获取的数据(List<Bean>或者List<Fragment>之类的) 都应该放到presenter里,由presenter的方法(比如 getViewpagerAdapter之类的)提供。这样理解的话正确吗 求解释。。。
如果有对应的代码就更好了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
理解没错,?
Adapter <- ListView <- Activity <-> Presenter <-> Model
View:
Model:
Presenter:
参考:
android-architecture
MVC,MVP 和 MVVM 的图示
你这样的理解是可以的。
建议是可以看一些采用MVP框架的项目来加深自己的理解,推荐两个项目:
LookLook
StylishMusicPlayer
还有一种MVP架构是使用Activity和Fragment作为Presenter层的,可以见:
TheMVP
您好,以上是我的协议解决方案,
以下我的解决方案的具体解析,希望对您有帮助。。
0.首先View端初始化一个带有空List数据的Adapter.
1.View端开启刷新showRefresh()去调用Presenter的newsRequest()函数;
2.Presenter负责调度把消息传给Model调用其newsRequestService()函数负责具体实施;
3.Model端开启异步线程去处理网络请求得到List<BeanNews>数据,将成功获取得到的结果回传给Presenter端的newsResultSuccess(List<BeanNews> newsList)函数.
4.Presenter端调用View端提供的showNews(List<BeanNews> newsList)函数把Model回传的List<BeanNews>数据进行转发,最后数据将在View端调用Adapter.setNewData(List)进行展示.
附拿到数据后再View端UI展示的代码(UI写在了fragment中):
http://blog.csdn.net/github_3... 这个里面有介绍
建议
业务分包
,都放一起就好了,还便于维护
、复制
,按层分包
太坑了,会感觉自己变成搬砖的
,以上内容基于MVP架构