MVC、MVP与ListView、RecycleView

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支持嵌套滑动机制。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,372评论 25 708
  • Android四大组件: activity: activity的生命周期:activity是context的子类,...
    梧桐树biu阅读 658评论 0 2
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,567评论 2 45
  • 今天我们跟大家分享书中三个方面的内容,分别是推迟满足感、给予并不等同于爱,以及如何处理冲突。 1.推迟满足感,处于...
    老商长谈阅读 286评论 0 2
  • 本文写于2013年12月20日 后来呢,痛定思痛?浪子回头?一改常态?发奋?励志?自强?呵呵!这不是在演励志剧,也...
    世为一阅读 410评论 0 0