




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Android 常用適配器總結,適配器 .顧名思義 ,就是把一些數(shù)據(jù)給弄得適當,適合以便于在 View 上顯示。可以看作是界面數(shù)據(jù)綁定的一種理解。它所操縱的數(shù)據(jù)一般都是一些 比較復雜的數(shù)據(jù),如數(shù)組,鏈表,數(shù)據(jù)庫,集合等。適配器 就像顯示器,把復雜的東西按人可以接受的方式來展現(xiàn)。那 么適配器是怎么處理得到的數(shù)據(jù),并把它顯示出來的呢。其 實很簡單,說白了適配器它也是一個類,在類里面它實現(xiàn)了 父類的這幾個方法: publicint getCount() / 得到數(shù)據(jù)的行數(shù)public Object getItem(int position)/ 根據(jù) position 得到某一行 的記錄public
2、long getItemId(int position)/ 得到某一條記錄的 ID /下面這個方法是最重要的相比于其它幾個方法,它顯式的 定義了,適配器將要以什么樣的方式去顯示我們所填充的數(shù) 據(jù),在自定義的適配器里面我們通常會給它寫個布局文件publicView getView(int position, View convertView,ViewGroup parent) 我們常用的適配器一共有三個, 當然不 包含自定義的適配器,哪三個 那就是 ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 這三個, 他們都是繼承BaseAdapter其中以
3、 ArrayAdapter 最為簡單,只能展示一行字。SimpleAdapter 有最好的擴充性,可以自定義出各種效果。SimpleCursorAdapter 可以認為是 SimpleAdapter 對數(shù)據(jù)庫的 簡單結合,可以方面的把數(shù)據(jù)庫的內容以列表的形式展示出 來。二,一般對于前兩個適配器, 他們的數(shù)據(jù)來源無非就是 String或者 List 。下面我們列舉兩個例一子: 例一,數(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ù)據(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);/ 這是一個控件類,所以可以直接將適配器綁定到本身對象中充的是 SimpleAdapter例二: List 作為數(shù)據(jù)源, 填ListView list =(ListView)findViewById(R.id.MyListView);/生成動態(tài)數(shù)組,并且轉載數(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 實現(xiàn) /動態(tài)數(shù)組與ListItem 對應的子項new String"ItemTitle", "ItemText", /ListItem 的 XML 文 件里面的兩個 TextView ID new int R.id.ItemTitle,R.id.ItemText);/添加并且顯示list.setAdapter(mSchedule); 三,應該說著兩個例子都不難,都是一些我們經(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);/ 傳入當前的上下文、個 layout 資源,一個游標和兩個數(shù)組:一個包含使用的列/的名字,另一個(相同大?。?shù)組包含 View 中的資源 ID ,用于顯示相應列的數(shù)據(jù)值。myListView.setAdapter(myAdapter);我們把一個游標綁定到了
10、 ListView 上,并使用自定義的layout 顯示來顯示每一個 Item 。四,下面我們來定義自己的 適配器。為什么要定義自己的適配器呢,原因就在于,當我們想用一些其它的展現(xiàn)方式,或者是我們需要的,呈現(xiàn) 方式,這是就得 DIY 了。首先我們定義一個類讓它繼承自BaseAda pter,再讓它實現(xiàn)里面所說的那幾個方法。那么這個自定義適配器就算好了。里面的一些方法我在上面都介紹過了,在這就不在贅述了。public class ImageAdapterextendsBaseAdapter privateContext mcontext;/構造函數(shù)里面有兩個參數(shù),一個是數(shù)據(jù)的來源,另一個是上下文
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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療組長崗位職責解析
- 醫(yī)院設備維護人員崗位職責
- 部編版三年級下冊語文教學資源開發(fā)計劃
- 校內體育聯(lián)誼賽事計劃
- 石油化工施工安全日志范文
- 基層醫(yī)療機構醫(yī)囑查對核對流程方案
- 2025年幼兒園大班飲食營養(yǎng)指導計劃
- 裝配式建筑施工節(jié)點質量管理措施及防治措施
- 專科門診護士工作職責提升
- 基層干部培訓學習心得體會
- DLT 5434-2021 電力建設工程監(jiān)理規(guī)范表格
- 2024年中考語文名著閱讀重點梳理:《朝花夕拾》含中考練習題及參考答案
- SYT 6968-2021 油氣輸送管道工程水平定向鉆穿越設計規(guī)范-PDF解密
- (正式版)QBT 5998-2024 寵物尿墊(褲)
- 中小學智慧校園項目應急預案
- 互聯(lián)網(wǎng)醫(yī)療項目計劃書
- 量子信息學導論 課件 第8章 量子度量學
- 勞動器材配備一覽表
- 火電廠危險化學品安全管理課件
- JB-T 4149-2022 臂式斗輪堆取料機
- 航空航天工程行業(yè)技術發(fā)展與創(chuàng)新趨勢
評論
0/150
提交評論