新聞中心
在Android的API中,LIST和adapter都被放在了android.widget包內。包內的具體結構我這里先不展示了,主要側重列表和adapter。adapter的作用就是將要在列表內顯示的數據和列表本身結合起來。列表本身只完成顯示的作用,其實他就是繼承自VIEWGROUP類。但是他又有一個獨特的函數就是setAdapter()就是完成了view和adapter的結合。adapter如同其本身含義,其實就是一個適配器,他可以對要顯示的數據進行統(tǒng)一的封裝,主要是將數據變成view提供給list。

公司主營業(yè)務:網站制作、成都做網站、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出禹州免費做網站回饋大家。
我們先來看看Adapter的體系:
public interface Adapter----0層(表示繼承體系中的層次)
public interface ExpandableListAdapter---(無所謂層次因為沒有其他接口繼承實現(xiàn)它)
這是adapter的始祖,其他個性化的adapter均實現(xiàn)它并加入自己的接口。
public interface ListAdapter----1層
public interface SpinnerAdapter----1層
public interface WrapperListAdapter----2層(實現(xiàn)ListAdapter)
以上接口層面上的體系已經完了??梢钥闯鰜碜鳛閣idgetview的橋梁adapter其實只分為2種:ListAdapter和SpinnerAdapter以及ExpandableListAdapter。也就是說所有widget也就是基于list和spinne與ExpandableList三種view形式的。
由于在實際使用時,我們需要將數據加入到Adapter,而以接口形式呈現(xiàn)的adapter無法保存數據,于是Adapter就轉型為類的模式。
public abstract class BaseAdapter----2層(實現(xiàn)了ListAdapter和SpinnerAdapter)
以抽象類的形式出現(xiàn)構造了類型態(tài)下的頂層抽象,包容了List和Spinner
public class ArrayAdapter----3層
public class SimpleAdapter---3層
public class CursorAdapter----3層(CursorAdapter其后還有子類這里先不探討)
基本體系有了之后,讓我們看看頂層Adapter里有哪些方法(只列舉常用的):
- abstract Object getItem(int position)
- abstract int getCount()
- abstract long getItemId(int position)
- abstract int getItemViewType(int position)
- abstract View getView(int position,View convertVeiw,ViewGroup parent)
以上是比較重要的方法,ArrayAdapter他們也是重新實現(xiàn)以上方法的。在實際的開發(fā)過程中,往往我們要自己做屬于自己的Adapter,以上方法都是需要重新實現(xiàn)的。這個在android提供的APIdemo例子中可以看到。
網頁名稱:AndroidAdapter的體系
網頁地址:http://www.5511xx.com/article/cohdgcd.html


咨詢
建站咨詢
