安卓中有一個重要的控件ListView,安卓通過讓用戶實現(xiàn)BaseAdapter類來連接ListView和數(shù)據(jù)列表,將數(shù)據(jù)綁定顯示在ListView中。適配器模式連接兩個不兼容的接口,使兩個不能一起工作的兩個接口實現(xiàn)一起工作的功能。
創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、巨野網(wǎng)站定制設(shè)計、自適應品牌網(wǎng)站建設(shè)、H5場景定制、商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應式網(wǎng)頁設(shè)計等建站業(yè)務,價格優(yōu)惠性價比高,為巨野等各大城市提供網(wǎng)站開發(fā)制作服務。例子通過模仿Android的ListView實現(xiàn)過程來驗證適配器模式,類圖結(jié)構(gòu)如下:
實現(xiàn)代碼:
var Adapter = Class.extend({ listview:null, dataChanged:function(){ if (this.listview != null) { listview.draw(); } }, getView:function(position){ return ""; }, getCount:function(){ return 0; }, getObject:function(index){ return null; } }); var ListView = Class.extend({ id:null, adapter:null, ctor:function(_id){ this.id = _id; }, setAdapter:function(_adapter){ this.adapter = _adapter; _adapter.listview = this; }, setOnItemClick:function(_callback){ this.callback = String(_callback).replace(/^function(\s|\n)+(.+)\((.|\n)+$/,'$2'); }, draw:function(){ var txt = ""; if(this.adapter != null){ for(var i = 0;i < this.adapter.getCount();i++){ txt += "" + this.adapter.getView(i) + ""; } } document.getElementById(this.id).innerHTML = txt; } }); var MyAdapter = Adapter.extend({ bean:[], ctor:function(_data){ this.bean = _data }, getCount:function(){ return this.bean.length; }, getView:function(position){ var data = this.bean[position]; var tmpl = "姓名${name}"; while(tmpl.indexOf("${") > 0){ var start = tmpl.indexOf("${"); var end = tmpl.indexOf("}"); var key = tmpl.substring(start,end+1); tmpl = tmpl.replace(key,data[key.replace("${","").replace("}","")]); } return tmpl; }, getObject:function(position){ return bean[position]; } });${sex}${age}${address}
運行的效果圖:
適配器模式的優(yōu)點主要是將兩個沒有關(guān)聯(lián)的類連接在一起,提高了復用,正如上面的例子ListView作為列表可以用在任何場合,數(shù)據(jù)類也可以在任何場合下繼續(xù)使用,適配器將兩者連接成整體工作達到效果。
適配器過多會造成系統(tǒng)的混亂,不易于程序的可讀性。
附件:http://down.51cto.com/data/2368474另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。