一.什么是適配器,適配器有什么用?
創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元富縣做網(wǎng)站,已為上家服務(wù),為富縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
適配器是AdapterView視圖(如ListView - 列表視圖控件、Gallery - 縮略圖瀏覽器控件、GridView - 網(wǎng)格控件、Spinner - 下拉列表控件、AutoCompleteTextView - 自動(dòng)提示文本框、ExpandableListView - 支持展開/收縮功能的列表控件等)與數(shù)據(jù)之間的橋梁,用來處理數(shù)據(jù)并將數(shù)據(jù)綁定到AdapterView上。
android提供多種適配器,開發(fā)時(shí)可以針對(duì)數(shù)據(jù)源的不同采用最方便的適配器,也可以自定義適配器完成復(fù)雜功能。
補(bǔ)充:
AdapterView對(duì)象有兩個(gè)主要任務(wù)
1. 在布局中顯示數(shù)據(jù)
2. 處理用戶的選擇
BaseAdapter一般的適配器基類可用于將數(shù)據(jù)綁定到listview、Gallery、GridView 、spinner、AutoCompleteTextView上,當(dāng)然也可以綁定到ExpandableListView上
BaseExpandableListAdapter可擴(kuò)展的適配器基類可用于將數(shù)據(jù)綁定到支持展開/收縮功能的列表控件ExpandableListView上,ExpandableListView繼承自ListView
二.兩種適配器基類的相關(guān)類圖與繼承關(guān)系
1>BaseAdapter適配器相關(guān)類圖:圖1和圖2
圖1 BaseAdapter適配器相關(guān)類圖
圖2 BaseAdapter適配器相關(guān)類圖(續(xù))
2>BaseExpandableListAdapter適配器相關(guān)類圖:圖3
圖3 BaseExpandableListAdapter適配器相關(guān)類圖
三.重要類的相關(guān)方法構(gòu)造函數(shù)的具體分析
1.ArrayAdapter
補(bǔ)充:
1>數(shù)據(jù)源寫法對(duì)比
1.用靜態(tài)字符數(shù)組常量來給ArrayAdapter 賦值。 優(yōu)點(diǎn),直接用數(shù)組寫入,數(shù)據(jù)量大建議使用。
static final String[] list="...";
ArrayAdapter
2.在程序中給ArrayAdapter 賦值。優(yōu)點(diǎn):可以在程序中靈活寫入。
ArrayList
list.add("數(shù)據(jù)1");
list.add("數(shù)據(jù)N");
ArrayAdapter
3.使用國(guó)際化接口 字符數(shù)組來 給ArrayAdapter 賦值。優(yōu)點(diǎn):提供的組件的選項(xiàng)可以國(guó)際化。
目錄【res】→【values】→【strings.xml】添加
ArrayAdapter
ArrayAdapter
2>什么情況使用ArrayAdapter,什么時(shí)候使用BaseAdapter
當(dāng)數(shù)量較多,比如超過100條或頻繁動(dòng)態(tài)增減時(shí)使用arrayadapter可以方便控制ui,
如果僅僅為了顯示則使用baseadapter更節(jié)省資源