美文网首页
适配器模式安卓中的应用

适配器模式安卓中的应用

作者: camlboy | 来源:发表于2017-05-09 16:25 被阅读80次

    安卓里面经常用到的控件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()方法来设置适配器达到效果

    相关文章

      网友评论

          本文标题:适配器模式安卓中的应用

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