美文网首页
MVC、MVP与ListView、RecycleView

MVC、MVP与ListView、RecycleView

作者: 岛在深海处 | 来源:发表于2017-06-07 17:06 被阅读0次

1.设计模式(mvc, mvp)

(1)mvc 将数据模型、界面视图和业务逻辑控制分开的模式
  • Model :只准备纯数据,不关心它如何呈现。

问题:Model层与View层到底是如何连接的? 大多数情况Activity既充当View层又充当Controller层,所以用原生控件的时候,Model只会与Activity交互而不会与xml文件交互,但是如果用自定义控件的时候可以把Model层获取的数据(通过controller层)传给View层进行显示(在View层操作从model层获取的数据)---这样的好处在于当要修改UI时不需要去修改Model和Controller。

  • View:(xml文件或自定义控件)只管显示数据,不管数据从何而来
  • Controller:(Activity)负责控制处理事件

简述MVC框架模式以及在你(ANDROID)项目中的应用

问题:Model的更新是通过观察者模式告知View的?观察者模式?

(2)mvp

主要是activity或者Fragment充当了View层,Presenter层相当于View层和Model层的一个桥梁,将Model层获取的数据传送给View层显示(还是在Presenter层操作model层获取的数据数据)

2.RecycleView

先复习下ListView,使用ViewHolder是为了减少findViewById的次数

ListView扩展
setMultiChoiceModeListene实现ListView多选或单选模式

  • (1)创建Adapter继承RecycleView.Adapter<ViewHolder>
  • (2)实现两个重要的方法onBindViewHodler()以及onCreateViewHolder() (使用RecyclerView控件我们就可以把Item View视图创建和数据绑定这两步进行分来进行管理,用法就更加方便而且灵活)
  • (3)创建一个ViewHolder类,该类必须继承自RecyclerView.ViewHolder类

RecycleView扩展:
RecycleView官方分割线

ListView与RecyclerView的区别

1.ListView是继承BaseAdapter,复用convertView使用ViewHoleder减少findViewById()的次数,而RecyclerView的adpter是继承RecyclerView.adapte<RcyclerView.ViewHolder>
2.RecyclerView可以根据自己的需求去自定义分割线
3.RecyclerView自己实现了局部刷新。
4.RecyclerView提供了动画效果。
5.RcyclerView支持嵌套滑动机制。

相关文章

网友评论

      本文标题:MVC、MVP与ListView、RecycleView

      本文链接:https://www.haomeiwen.com/subject/qmeputtx.html