什么是adapter
adapter就是适配器,适配器模式把一个类的接口转换成客户端所期待的另一种接口,从而使原本两个接口不匹配而无法在一起工作的类,能够在一起工作
使用场景
举个栗子
用电源接口做例子,笔记本电脑的电源一般都是接受5V的电压,但是我们生活中的电线电压一般都是220V的输出。这个时候就出现了不匹配的状况,在软件开发中我们称之为接口不兼容,此时就需要适配器来进行一个接口转换。在软件开发中有一句话正好体现了这点:任何问题都可以加一个中间层来解决。这个层我们可以理解为这里的Adapter层,通过这层来进行一个接口转换就达到了兼容的目的。
ListView中的Adapter模式
为什么listview要用adapter呢?我们知道,作为重要的视图元素,listview展示的view千变万化,ListView需要能够显示各式各样的视图,每个人需要的显示效果各不相同,显示的数据类型,数量也不尽相同,那么如何隔离这种变化尤为重要。
Android的做法是增加一个Adapter层来应对变化,将ListView需要的接口抽象到Adapter对象中,这样只要用户实现了Adapter的接口,ListView就可以按照用户设定的显示效果、数量、数据来显示特定的Item View。
通过代理数据集来告知ListView数据的个数( getCount()
函数 )以及每个数据的类型( getItem()
函数 ),最重要的是要解决Item View的输出。Item View千变万化,但终究它都是View类型,Adapter统一将Item View输出为View ( getView()
函数 ),这样就很好的应对了Item View的可变性。