歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 自定義ListView系列之適配器模式

最近做個項目,要用到異步加載,動態刷新UI等。看了下2.2系統的圖庫源碼,感覺寫的不錯。同時又把ListView拿出來研究了下,做個筆記。

先上圖:

1. Android中大量用到了適配器模式,比如ListView、GridView等。

所謂的適配器模式,我的理解是類似電源適配器或者轉接頭之類的轉換器。

電源適配器將不適合機器工作的電壓輸出為機器適合的電壓。轉接頭就更好理解了,將不配套的插頭和插座連接在一起。適配器模式跟這個類似,將兩個不相干的類作用在一起,使它們能配套適用。

Android裡面的適配器結構基本如上圖所示。還有其他的各種適配器類如SimpleAdapter,SimpleCursorAdapter等都是直接或間接地繼承BaseAdapter。我們自定義ListView時所用到的Adapter同樣要繼承BaseAdapter必須實現幾個方法:getCount(),getItem(int position),getItemId(int position),getView(int position, View convertView, ViewGroupparent)

為什麼會這樣呢?

注意到Spinnerdapter和ListAdapter都是接口,它們繼承了Adapter接口。而BaseAdapter是一個抽象類,它實現上述兩個接口,但它並沒有實現上面提到的那四個方法。所以構建BaseAdapter的子類時必須要實現那四個沒有實現的四個接口方法。其實在Android中有很多這樣的例子,在繼承某個類時會默認讓你Override一些方法,這些方法就是父類中沒有實現的接口方法。

重寫了這四個方法後適配器才能夠和控件合作,將數據和控件UI聯系起來。

Copyright © Linux教程網 All Rights Reserved