天天看點

UI元件之AdapterView及其子類關系,Adapter接口及其實作類關系

AdapterView本身是一個抽象基類,它派生的的子類在用法上十分相似。AdapterView直接派生的三個子類:AbsListView,AbsSpinner,AdapterViewAnimator,這三個子類依然是抽象的,實際應用中往往采用它們的子類。AdapterView 的子類是内容由 Adapter 來決定的視圖類,就是說其實顯示的元件。

AdapterView有如下特征:

1,AdapterView繼承了ViewGroup,它的本質是容器。

2,AdapterView可以包括多個“清單項”,并将多個“清單項”一合适的形式顯示出來

3,AdapterView顯示的多個“清單項”的内容由Adapter提供,調用AdapterView的setAdapter(Adapter)方法設定adapter。

AdapterView及其子類的繼承關系如圖:經常使用的AdapterView的子類如圖中綠色所示

ListView,GridView,Spinner,Gallary,StackView,ExpandableListView

UI元件之AdapterView及其子類關系,Adapter接口及其實作類關系

Adapter本身就是一個接口,他派生的ListAdapter和SpinnerAdapter兩個子接口,其中ListAdapter為AbsListView提供清單項,而SpinnerAdapter為AbsSpinner提供清單項;

圖中綠色為經常使用的Adapter。幾乎所有的Adapter都繼承了BaseAdapter,而BaseAdapter同時又實作了ListAdapter,SpinnerAdapter兩個接口,是以BaseAdapter及其子類可以同時為AbsListView,AbsSpinner提供清單項。

Adapter接口及其實作類的繼承關系如圖:

UI元件之AdapterView及其子類關系,Adapter接口及其實作類關系

Adapter常用的實作類:

1,ArrayAdapter:簡單,易用的Adapter,可用于将數組或List集合多個值包裝成多個清單項。

2,SimpleAdapter:并不簡單,功能強大的Adapter,可用于将List集合的多個對象包裝成多個清單項

3,SimpelCursor:與SimpleAdapter基本相似,隻是用于包裝Cursor提供的資料庫查詢集

4,BaseAdapter:通常用于被擴張。擴充BaseAdapter可以對個清單項進行最大限度的定制。

AdapterView子類和相應的Adapter實作類以後再進行解釋吧。

繼續閱讀