成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android Adapter的體系

移動(dòng)開發(fā) Android
在Android開發(fā)中列表的使用是十分常見的。Google對(duì)列表的封裝使列表既有顯示傳統(tǒng)文本列表的能力,也有加入了諸如選擇項(xiàng)、復(fù)選項(xiàng)等處理事件的能力。這里寫一些我對(duì)這個(gè)問題的理解。

AndroidAPI中,LIST和adapter都被放在了android.widget包內(nèi)。包內(nèi)的具體結(jié)構(gòu)我這里先不展示了,主要側(cè)重列表和adapter。adapter的作用就是將要在列表內(nèi)顯示的數(shù)據(jù)和列表本身結(jié)合起來。列表本身只完成顯示的作用,其實(shí)他就是繼承自VIEWGROUP類。但是他又有一個(gè)獨(dú)特的函數(shù)就是setAdapter()就是完成了view和adapter的結(jié)合。adapter如同其本身含義,其實(shí)就是一個(gè)適配器,他可以對(duì)要顯示的數(shù)據(jù)進(jìn)行統(tǒng)一的封裝,主要是將數(shù)據(jù)變成view提供給list

我們先來看看Adapter的體系:

public interface Adapter----0層(表示繼承體系中的層次)

public interface ExpandableListAdapter---(無所謂層次因?yàn)闆]有其他接口繼承實(shí)現(xiàn)它)

這是adapter的始祖,其他個(gè)性化的adapter均實(shí)現(xiàn)它并加入自己的接口。

public interface ListAdapter----1層

public interface SpinnerAdapter----1層

public interface WrapperListAdapter----2層(實(shí)現(xiàn)ListAdapter)

以上接口層面上的體系已經(jīng)完了。可以看出來作為widgetview的橋梁adapter其實(shí)只分為2種:ListAdapter和SpinnerAdapter以及ExpandableListAdapter。也就是說所有widget也就是基于list和spinne與ExpandableList三種view形式的。

由于在實(shí)際使用時(shí),我們需要將數(shù)據(jù)加入到Adapter,而以接口形式呈現(xiàn)的adapter無法保存數(shù)據(jù),于是Adapter就轉(zhuǎn)型為類的模式。

public abstract class BaseAdapter----2層(實(shí)現(xiàn)了ListAdapter和SpinnerAdapter)

以抽象類的形式出現(xiàn)構(gòu)造了類型態(tài)下的頂層抽象,包容了List和Spinner

public class ArrayAdapter----3層

public class SimpleAdapter---3層

public class CursorAdapter----3層(CursorAdapter其后還有子類這里先不探討)

基本體系有了之后,讓我們看看頂層Adapter里有哪些方法(只列舉常用的):

  1. abstract Object getItem(int position)  
  2. abstract int getCount()  
  3. abstract long getItemId(int position)  
  4. abstract int getItemViewType(int position)  
  5. abstract View getView(int position,View convertVeiw,ViewGroup parent) 

以上是比較重要的方法,ArrayAdapter他們也是重新實(shí)現(xiàn)以上方法的。在實(shí)際的開發(fā)過程中,往往我們要自己做屬于自己的Adapter,以上方法都是需要重新實(shí)現(xiàn)的。這個(gè)在android提供的APIdemo例子中可以看到。  

【編輯推薦】

Android Adapter的體系

Android智能手機(jī)操作系統(tǒng)

Android開發(fā)實(shí)例詳解之IMF

官方文檔:Android應(yīng)用程序運(yùn)行的性能設(shè)計(jì)

責(zé)任編輯:zhaolei 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2014-12-17 09:57:01

AndroidAdapteViewHolder

2014-07-15 17:17:31

AdapterAndroid

2014-07-23 09:33:52

2009-04-29 09:06:18

C#設(shè)計(jì)模式Adapter

2011-06-03 16:31:57

iphone Android WebOS

2013-12-26 17:08:36

Android開發(fā)Android應(yīng)用自定義Adapter顯

2010-02-24 09:18:49

WCF Adapter

2016-12-29 10:32:06

2012-08-02 10:46:34

JavaAdapter模式

2012-08-20 10:48:09

2017-02-06 21:08:34

Android虛擬機(jī)體系結(jié)構(gòu)

2012-02-23 09:51:58

虛擬化SRM桌面虛擬化

2010-07-22 12:07:02

AIX TELNET

2009-06-26 15:58:28

EJB

2021-01-06 10:09:38

MySQL

2010-04-26 10:01:45

Oracle認(rèn)證

2010-04-20 10:34:33

2009-08-07 10:20:38

WebSphere A

2015-12-31 13:56:09

創(chuàng)業(yè)

2013-08-01 11:17:20

SAP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 性一交一乱一伦视频免费观看 | 97精品国产97久久久久久免费 | 国产精品国产成人国产三级 | 久久精品一区二区 | 国产精品一区二区av | 日韩欧美网 | 国产精品mv在线观看 | 久久99精品久久久 | 久久久久国产精品一区二区 | 韩日一区二区三区 | 国产在线视频一区 | 欧美日韩福利视频 | 中文一区| 国产精品久久久久久久久图文区 | 9191av| 亚洲啊v| 一级毛片高清 | 色爱综合网| 超碰免费在线 | 免费午夜剧场 | 欧美日韩视频 | 国产精品高潮呻吟久久aⅴ码 | 成人18亚洲xxoo | 亚洲一区二区网站 | 在线看av网址 | 亚洲福利 | 黄a大片| 偷拍亚洲色图 | 欧美久久久久久久久中文字幕 | 午夜成人在线视频 | www日本在线播放 | 国产一区二区视频免费在线观看 | 黄色在线免费观看 | 色综合一区二区 | 欧美一级久久 | 久久99精品国产 | 在线视频国产一区 | 成人二区| 中文字幕乱码视频32 | 国产精品亚洲成在人线 | www.亚洲精品 |