Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android學習日記18--Adapter簡介

android學習日記18--Adapter簡介

編輯:關於Android編程

一、Adapter   1、簡述     最近學的GridView和Gallery 都有用到Adapter適配器,發現它貌似蠻重要的。專門上網搜了下有關Adapter的資料。 android絕大多數應用是JAVA語言編寫的,Adapter在JAVA裡是專門的一種設計模式,目的是使兩個原本沒有關聯的類結合一起使用。 比如水管A是25mm的,水管B是40mm的,假設水管厚度不計,怎樣連接兩種水管一起使用?這時就需要適配器C,適配器C類似水管,   一頭25mm,另一頭40mm,這樣就可以連接A、B水管一起使用了。       2、Android中的Adapter     Android裡的Adapter是View視圖與data數據之間的橋梁,Adapter提供對數據的訪問,也負責為每一項數據產生一個對應的視圖。下圖是Data、Adapter、View三者的關系:          Andpter類結構體系:         在這些適配器中,BaseAdapter由於比較靈活用得最多,SimpleCursorAdapter貌似也挺常用的,允許綁定游標來顯示數據。       3、Adapter重要方法     無論重寫哪種Adapter,一般都要重寫底下四個方法:      1     // 所表示的數據的項數  2     int getCount();  3   4     // 返回指定位置的數據項  5     Object getItem(int position);  6   7     // 返回指定位置的數據項的ID  8     long getItemId(int position);  9  10     // 為每一個數據項產生相應的視圖 11     View getView(int position, View convertView, ViewGroup parent);       有網友查看源碼發現其中getItem(),和getItemId()這兩個方法對於android來講是沒有用的,單純是為了客戶端調用的方便。 就上我上一篇重寫getItem()和getItemId()來設置初始position發現不起作用。       4、簡單例子:     關於擴展BaseAdapter自定義的代碼參考ListView、GridView、Gallery文章都有,這邊不再貼出來。主要貼出如何構造一個SimpleCursorAdapter來顯示聯系人信息代碼:           1 listView = new ListView(this);  2         // 系統裡的表  3         Cursor cursor = getContentResolver().query(People.CONTENT_URI, null,  4                 null, null, null);  5   6         startManagingCursor(cursor);  7   8         ListAdapter listAdapter = new SimpleCursorAdapter(this,//上下文  9                 android.R.layout.simple_expandable_list_item_1,//要顯示ListView的樣式 10  11                 cursor,// 數據源 12  13                 new String[] { People.NAME },// 對應的字段 14  15                 new int[] { android.R.id.text1 });// 顯示哪個控件上 16  17         listView.setAdapter(listAdapter); 18  19         setContentView(listView);
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved