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
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jNwUDOyQjM3ETNxEDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
Adapter本身就是一個接口,他派生的ListAdapter和SpinnerAdapter兩個子接口,其中ListAdapter為AbsListView提供清單項,而SpinnerAdapter為AbsSpinner提供清單項;
圖中綠色為經常使用的Adapter。幾乎所有的Adapter都繼承了BaseAdapter,而BaseAdapter同時又實作了ListAdapter,SpinnerAdapter兩個接口,是以BaseAdapter及其子類可以同時為AbsListView,AbsSpinner提供清單項。
Adapter接口及其實作類的繼承關系如圖:
Adapter常用的實作類:
1,ArrayAdapter:簡單,易用的Adapter,可用于将數組或List集合多個值包裝成多個清單項。
2,SimpleAdapter:并不簡單,功能強大的Adapter,可用于将List集合的多個對象包裝成多個清單項
3,SimpelCursor:與SimpleAdapter基本相似,隻是用于包裝Cursor提供的資料庫查詢集
4,BaseAdapter:通常用于被擴張。擴充BaseAdapter可以對個清單項進行最大限度的定制。
AdapterView子類和相應的Adapter實作類以後再進行解釋吧。