最近在開發安卓的過程中發現listview無疑是一個經常使用的元件,而提到listview又不得不提一下擴充卡了,我打算用幾個執行個體,由淺入深的向大家仔細講解一下擴充卡的使用,雖然這算不上什麼高深的問題,我還是希望能給大家帶來一些收獲,我也是菜鳥一隻,寫的不好的或者有錯的地方還請大家幫忙指出。下面進入正文:
首先讓我們來認識一下擴充卡:
什麼是擴充卡呢?顧名思義,就是把一些資料給弄得适當,适合以便于在view上顯示。擴充卡就像顯示器,把複雜的東西按人可以接受的方式來展現。也可以這樣來了解擴充卡,listview通過擴充卡,了解我們要對listview裡加入什麼内容,而我們在擴充卡裡@override的方法,就是讓我們寫上我們要告訴這個listview的一些基本内容。
可以說擴充卡就是資料和視圖之間的橋梁,學好擴充卡還是非常重要的。
讓我們先從各個方面了解擴充卡,然後看一些例子我想應該就可以徹底掌握它了!
擴充卡的工作原理:
擴充卡是怎麼處理得到的資料,并把它顯示出來的呢?其實很簡單,說白了擴充卡它也是一個類,在類裡面它實
現了父類的這幾個方法:
public int getcount() //得到資料的行數
public object getitem(int position) //根據position得到某一行的記錄
public long getitemid(intposition) //的到某一條記錄的id
還有最重要的:
publicview getview(intposition, view convertview, viewgroup parent)
//相比于其它幾個方法這個方法是最重要的,它顯式的定義了擴充卡将要以什麼樣的方式去顯示我們所
填充的資料,在自定義的擴充卡裡面我們通常會給它寫個布局檔案。
這些在最後的一兩個例子裡會仔細講解,我們從簡單的看起:首先看看常用的擴充卡
我們常用的擴充卡一共有三個,當然不包含自定義的擴充卡:就是arrayadapter,simpleadapter,simplecursoradapter 這三個,他們都是繼承于baseadapter 。
下面我會逐一介紹,我們在具體應用中來繼續學習adapter:
說道adapter不得不說道listview,或者說用到listview不得不提到adapter
在android開發中listview是比較常用的元件,它以清單的形式展示具體内容,并且能夠根據資料的長度自适應顯示。
而清單的顯示需要三個元素:
1.listveiw 用來展示清單的view。
2.擴充卡 用來把資料映射到listview上的中介。
3.資料 具體的将被映射的字元串,圖檔,或者基本元件。
根據清單的擴充卡類型,清單分為三種,arrayadapter,simpleadapter和simplecursoradapter
其中以arrayadapter最為簡單,隻能展示一行字。simpleadapter有最好的擴充性,可以自定義出各種效果。simplecursoradapter可以認為是simpleadapter對資料庫的簡單結合,可以方面的把資料庫的内容以清單的形式展示出來
我們從最簡單的listview開始(arrayadapter):
我打算把這幾種擴充卡的例子放在一個app裡面,然後上傳到我的資源,再分享連結給大家。是以我打算由mainactivity裡的button來跳轉到各個例子,現在讓我們一步步的把這個demo寫出來。
項目開始啦!
(1)首先,建立一個app ,名字叫做 adapterdemo ,先在activity_main.xml裡添加一個button,一會跳轉的時候使用。
(2)然後建立一個類arrayadapterdemo繼承自activity作為我們第一個小例子的activity,@override 我們的oncreate方法
建立一個xml檔案arrayadapterdemo.xml作為我們的布局檔案,其中包含一個文本域和一個listview,代碼如下:
arrayadapterdemo.xml:
(3)然後回到arrayadapterdemo,定義一個listview暫且叫做lv,并且lv=(listview)findviewbyid(r.id.arrayadapterdemolistview);
objects)來裝配資料,要裝配這些資料就需要一個連接配接listview視圖對象和數組資料的擴充卡
來兩者的适配工作。
android.r.layout.simple_list_item_1是系統定義好的布局檔案隻顯示一行文字,資料源(一個list集合)。同時用setadapter()完
成适配的最後工作。
一般寫一個getdata()方法來作為最後一個參數,最終代碼如下:
再在androidmanifest.xml中注冊activity并在主界面中完成button監聽跳轉就可以了。
下面是實作結果:

教程一就先到此結束啦!一下子寫在一篇裡面篇幅太長,大家也不喜歡看。
下次講解的是:
simplecursoradapter在listview中顯示手機聯系人清單。
請大家繼續關注!
源碼我會在最後一篇結束的時候發上來,我也是邊寫部落格邊寫的代碼,我覺得這樣可能講的思路更清晰一些。
我也是學生,水準有限,還請多多指教!