下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Android 常用適配器總結(jié),適配器 .顧名思義 ,就是把一些數(shù)據(jù)給弄得適當(dāng),適合以便于在 View 上顯示。可以看作是界面數(shù)據(jù)綁定的一種理解。它所操縱的數(shù)據(jù)一般都是一些 比較復(fù)雜的數(shù)據(jù),如數(shù)組,鏈表,數(shù)據(jù)庫,集合等。適配器 就像顯示器,把復(fù)雜的東西按人可以接受的方式來展現(xiàn)。那 么適配器是怎么處理得到的數(shù)據(jù),并把它顯示出來的呢。其 實(shí)很簡單,說白了適配器它也是一個(gè)類,在類里面它實(shí)現(xiàn)了 父類的這幾個(gè)方法: publicint getCount() / 得到數(shù)據(jù)的行數(shù)public Object getItem(int position)/ 根據(jù) position 得到某一行 的記錄public
2、long getItemId(int position)/ 得到某一條記錄的 ID /下面這個(gè)方法是最重要的相比于其它幾個(gè)方法,它顯式的 定義了,適配器將要以什么樣的方式去顯示我們所填充的數(shù) 據(jù),在自定義的適配器里面我們通常會給它寫個(gè)布局文件publicView getView(int position, View convertView,ViewGroup parent) 我們常用的適配器一共有三個(gè), 當(dāng)然不 包含自定義的適配器,哪三個(gè) 那就是 ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 這三個(gè), 他們都是繼承BaseAdapter其中以
3、 ArrayAdapter 最為簡單,只能展示一行字。SimpleAdapter 有最好的擴(kuò)充性,可以自定義出各種效果。SimpleCursorAdapter 可以認(rèn)為是 SimpleAdapter 對數(shù)據(jù)庫的 簡單結(jié)合,可以方面的把數(shù)據(jù)庫的內(nèi)容以列表的形式展示出 來。二,一般對于前兩個(gè)適配器, 他們的數(shù)據(jù)來源無非就是 String或者 List 。下面我們列舉兩個(gè)例一子: 例一,數(shù)組作為數(shù)據(jù)源,填充的是 ArrayAdapterpublic class Exampleextends ListActivityString sex = new String()" 男" , “
4、女” /數(shù)據(jù)源ArrayAda pter<String >ada pter;/ 數(shù)組適配器,用的是泛型public voidonCreate(Bundle SavedInstanceState)super.onCreate(SavedInstanceStat);/在對適配器初始化的時(shí)候,順便把數(shù)據(jù)源裝載到適配器里,/this.android.R.Layout.Simple_List_Item_1 這句話/的意思是將數(shù)據(jù)源以系統(tǒng)定義好的樣式放到適配器里 .adapter=newArrayAdapter<String(this.android.R.Layo
5、ut.Sim ple_List_Item_1,sex);this.setAdapter(adapter);/ 這是一個(gè)控件類,所以可以直接將適配器綁定到本身對象中充的是 SimpleAdapter例二: List 作為數(shù)據(jù)源, 填ListView list =(ListView)findViewById(R.id.MyListView);/生成動態(tài)數(shù)組,并且轉(zhuǎn)載數(shù)據(jù)ArrayList<HashMap<String,String>> mylist = newArrayList<HashMap<String,Str
6、ing>>();for(int i=0;i<30;i+)HashMap<String, String>map = new HashMap<String,String>();map.put("ItemTitle","This is Title"map.put("ItemText","This is text"mylist.add(map);/生成適配器,數(shù)組 = ListItemSimpleAdapter mSchedu
7、le = newSimpleAdapter(this, / 沒什么解釋 mylist,/ 數(shù)據(jù)來源R.layout.my_listitem,/ListItem 的 XML 實(shí)現(xiàn) /動態(tài)數(shù)組與ListItem 對應(yīng)的子項(xiàng)new String"ItemTitle", "ItemText", /ListItem 的 XML 文 件里面的兩個(gè) TextView ID new int R.id.ItemTitle,R.id.ItemText);/添加并且顯示list.setAdapter(mSchedule); 三,應(yīng)該說著兩個(gè)例子都不難,都是一些我們經(jīng)常見到的用
8、法,那么對于SimpleCursorAdapter又是怎么用的呢, SimpleCursorAdapter 一般主要用于數(shù)據(jù)庫, 它的數(shù)據(jù)來源一般都是數(shù)據(jù)庫查詢得到的 Cursor 我們來看面的例子:String uriString =content:/contacts/people/Cursor myCursor=managedQuery(Uri.parse(uriString), null, null, null, null);String fromColumns = newStringPeople.NUMBER, People.NAME;int toLayoutIDs = new int
9、R.TextView, R.id.numberTextView;SimpleCursorAdapter myAdapter;myAdapter=newSimpleCursorAdapter(this,R.layout.simplecurs orlayout,myCursor,fromColumns,toLayoutIDs);/ 傳入當(dāng)前的上下文、個(gè) layout 資源,一個(gè)游標(biāo)和兩個(gè)數(shù)組:一個(gè)包含使用的列/的名字,另一個(gè)(相同大?。?shù)組包含 View 中的資源 ID ,用于顯示相應(yīng)列的數(shù)據(jù)值。myListView.setAdapter(myAdapter);我們把一個(gè)游標(biāo)綁定到了
10、 ListView 上,并使用自定義的layout 顯示來顯示每一個(gè) Item 。四,下面我們來定義自己的 適配器。為什么要定義自己的適配器呢,原因就在于,當(dāng)我們想用一些其它的展現(xiàn)方式,或者是我們需要的,呈現(xiàn) 方式,這是就得 DIY 了。首先我們定義一個(gè)類讓它繼承自BaseAda pter,再讓它實(shí)現(xiàn)里面所說的那幾個(gè)方法。那么這個(gè)自定義適配器就算好了。里面的一些方法我在上面都介紹過了,在這就不在贅述了。public class ImageAdapterextendsBaseAdapter privateContext mcontext;/構(gòu)造函數(shù)里面有兩個(gè)參數(shù),一個(gè)是數(shù)據(jù)的來源,另一個(gè)是上下文
11、。public ImageAdapter(IntegerimgIds,Context c)mcontext=c;imageIds=imgIds;publicint getCount() / TODOAuto-generated method stubposition) Auto-generated method stubposition) return imageIds.length;publicObject getItem(int/ TODOreturn null;publiclong getItemId(int/ TODOAuto-generated method stubreturn position;/主要工作是做在這里,可以自定義布局,在這里我就不多說了publicView getView(int position,View convertView, ViewGroup parent) / TODO Auto-generatedmethod stubImageViewimageview = newImageView(mcon
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024瑜伽瑜伽館會員積分系統(tǒng)開發(fā)與運(yùn)營合同3篇
- 五年級心理健康教學(xué)計(jì)劃
- 施工現(xiàn)場安保措施
- 2025年度林業(yè)資源管理與利用合同3篇
- 江蘇省淮安市淮陰區(qū)2021-2022學(xué)年八年級下學(xué)期期末調(diào)研英語試題答案
- 2024年度企業(yè)內(nèi)部員工綜合能力提升培訓(xùn)協(xié)議合同模板3篇
- 2024版防火門生產(chǎn)及承攬合同3篇
- 2025年小學(xué)語文一年級上冊《比尾巴》導(dǎo)學(xué)案
- 2024深圳智能硬件企業(yè)股權(quán)變更合同范本3篇
- 2023年-2024年項(xiàng)目部安全管理人員安全培訓(xùn)考試題帶答案(新)
- 2024年貴州貴安發(fā)展集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 《混凝土的檢測》課件
- 衛(wèi)生健康系統(tǒng)2024年安全生產(chǎn)和消防工作要點(diǎn)
- CNC數(shù)控編程述職報(bào)告
- 生產(chǎn)車間環(huán)境改善方案
- 2024年高考物理真題分類匯編(全一本附答案)
- 2024-2025年上海中考英語真題及答案解析
- 新疆喀什地區(qū)巴楚縣2023-2024學(xué)年九年級上學(xué)期1月期末化學(xué)試題
- 供應(yīng)商可持續(xù)發(fā)展計(jì)劃
- 《吉利集團(tuán)財(cái)務(wù)共享中心的優(yōu)化研究》11000字
- 生姜的產(chǎn)地分布
評論
0/150
提交評論