教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Android培訓(xùn)之AdapterView與Adapter (1)

更新時(shí)間:2016年10月31日17時(shí)19分 來(lái)源:傳智播客Android培訓(xùn) 瀏覽次數(shù):

在J2EE中提供過(guò)一種非常好的框架--MVC框架,實(shí)現(xiàn)原理:數(shù)據(jù)模型M(Model)存放數(shù)據(jù),利用控制器C(Controller)將數(shù)據(jù)顯示在視圖V(View)上。在Android中有這樣一種高級(jí)控件,他的實(shí)現(xiàn)過(guò)程就類似于MVC框架。之所以稱它高級(jí),是因?yàn)樗氖褂貌幌衿渌丶粯樱献У浇缑嫔暇湍苡?,而是需要通過(guò)適配器將某些樣式的數(shù)據(jù)或控件添加到其上而使用,這樣的控件就是我們今天要說(shuō)的AdapterView。

   一:AdapterView-->V(視圖)

1:作用

以列表的形式顯示數(shù)據(jù)。

2:內(nèi)容

AdapterView的內(nèi)容一般是包含多項(xiàng)相同格式資源的列表。

3:特點(diǎn)

(1)將前端顯示和后端數(shù)據(jù)分離

(2)內(nèi)容不能通過(guò)ListView.add的形式添加列表項(xiàng),需指定一個(gè)Adapter對(duì)象,通過(guò)它獲得顯示數(shù)據(jù)

(3)ListView相當(dāng)于MVC框架中的V(視圖)

(4)Adapter相當(dāng)于MVC框架中的C(控制器)

(5)數(shù)據(jù)源相當(dāng)于MVC框架中的M(模型)

(6)超出屏幕顯示之后,自動(dòng)加上滾動(dòng)條

4:分類

(1)ListView:列表,其中只能含有一個(gè)控件TextView,

(2)Spinner:下拉列表,給用戶提供選擇

(3)Gallery:縮略圖,已經(jīng)被水平的ScrollView和ViewPicker取代,但也還算常用,是一個(gè)可以把子項(xiàng)以中心鎖定,水平滾動(dòng)的列表

(4)GridView:網(wǎng)格圖,以表格形式顯示資源,可以左右滑動(dòng)的

5:事件

(1)用戶單擊列表項(xiàng)事件

◆為列表加載setOnItemClieckListener監(jiān)聽(tīng),重寫onItemClick(發(fā)生單擊事件的列表對(duì)象ListView,被單擊控件對(duì)象view,在列表中的位置position,被單擊列表項(xiàng)的行ID)方法。

(2)用戶長(zhǎng)按事件

◆為列表加載setOnItemLongClieckListener監(jiān)聽(tīng),重寫onItemLongClick(發(fā)生單擊事件的列表對(duì)象ListView,被單擊控件對(duì)象view,在列表中的位置position,被單擊列表項(xiàng)的行ID)方法。

6:數(shù)據(jù)填充

借助下面的Adapter適配器對(duì)象從數(shù)據(jù)源中進(jìn)行適配

二:Adapter-->C(控制器)

1:作用

把數(shù)據(jù)源中數(shù)據(jù)以某種樣式(xml文件)顯示在視圖中。

2:分類

(1)ArrayAdapter:他只能處理列表項(xiàng)內(nèi)容全是文本的情況。

       ◆數(shù)據(jù)源:數(shù)組或者List<String>對(duì)象或者其他

(2)SimpleAdapter: 他不僅可以處理列表項(xiàng)全是文本的情況,當(dāng)列表項(xiàng)中還有其他控件時(shí),同樣可以處理。

       ◆數(shù)據(jù)源:只能為L(zhǎng)ist<Map<“鍵”,“值”>>形式的數(shù)據(jù)

(3)自定義Adapter:根據(jù)xml文件中定義的樣式驚醒列表項(xiàng)的填充,適用性最強(qiáng)。

(4)SimpleCursorAdapter:專門用于把游標(biāo)中的數(shù)據(jù)映像到列表中(我們以后再來(lái)研究)



本文版權(quán)歸傳智播客Android培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Android培訓(xùn)學(xué)院
首發(fā):http://www.xamj520.com/Android
0 分享到:
和我們?cè)诰€交談!