安卓里面经常用到的控件Recycleview和ListView我们经常会写adapter,很直观,就是适配器的意思,关于适配器简单的例子很多,这里晚上找到的随便给一个,例子来源于这篇文章
160117732.jpg代码实现如下:
// 已存在的、具有特殊功能、但不符合我们既有的标准接口的类
class Adaptee {
public void specificRequest() {
System.out.println("被适配类具有 特殊功能...");
}
}
// 目标接口,或称为标准接口
interface Target {
public void request();
}
// 具体目标类,只提供普通功能
class ConcreteTarget implements Target {
public void request() {
System.out.println("普通类 具有 普通功能...");
}
}
// 适配器类,继承了被适配类,同时实现标准接口
class Adapter extends Adaptee implements Target{
public void request() {
super.specificRequest();
}
}
// 测试类
public class Client {
public static void main(String[] args) {
// 使用普通功能类
Target concreteTarget = new ConcreteTarget();
concreteTarget.request();
// 使用特殊功能类,即适配类
Target adapter = new Adapter();
adapter.request();
}
}
测试结果:
普通类 具有 普通功能...
被适配类具有 特殊功能...
实质上就是衔接我们的目标类和具有适配操作的类,从而达到适配器效果,最常用的电源适配器进行理解,我们的笔记本需要12V电压进行工作,但是需要目标类的Convert方法进行220V到12V的转换功能,但是220到12V的具体操作由另外一个具有转换功能的类来实现,我们可以通过适配器进行衔接。
安卓中的adapter,我们的BaseAdapter抽象了具体的流程,getCount(),getDatas(),getView()等等一系列操作,但是我们的数据模型又是不一样的,可能是ListView<String>,List<CoustomBean>,等等,这里数据模型充当着具体的执行者,我们通过传入不同的数据模型来达到实现多种数据展示的效果。
最后通过recycleview的setAdapter()方法来设置适配器达到效果
网友评论