ListView(列表)是開發 Android 中常用元件之一,它能把數據用列表方式顯示出來,而 ListView 必須利用 Adapter 將資料載入,Adapter 是負責管理 ListView 每一列的資料與畫面,由於 ListView 的編程簡單,對於一些簡單輕量級資料的顯示是可以應付自如。
Android Studio ListView 顯示資料內容 |
開發環境:Android Studio 4.0.1 版本
原程式:C:\Development\Development_Android\Android_Project\DIY-Android-007-09 ListView Basic
程式:C:\Development\Development_Android\Android_Project\DIY-Android-007-09 ListView Basic
Data Source + Aapter + ListView的處理資料結構 |
Adatpter 繼承結構圖 |
符號 |
描述 |
ArrayAdapter |
將陣列的值包裝成清單項目,提供給 Adapter,清單只能顯示一行文字。 |
SmipleAdapter |
將 List 集合的值包裝成列表項目。可以自訂各種效果,功能強大。 |
SmipleCursorAdapter |
輸入資料是由資料庫(SQLite)查詢的 Cursor(資料庫的游標物件)結果時使用,與 SmipleAdapter 類似,只不過它需將 Cursor 的欄位與元件ID 對應,直接將資料庫的內容以清單的方式展現出來。 |
BaseAdapter |
是一個抽象的類別,繼承它需要較多的客製化(custom),通常它可以對各列表項進行最大限度的定制,也具有很高的靈活性。 |
常見 ListAdapter 次類別的使用:
- ArrayAdapter:輸入資料為陣列或是 List 集合,ArrayAdapter 較為簡單易用,但每個列表項只能是 TextView,功能實現的局限性非常大。
- SimpleAdapter:輸入資料為表格時(List< ? extends Map< String , ? >>),用於將 XML 中控制項綁定作為清單項的資料來源,可對每個列表項進行定制(自訂佈局),能滿足大多數開發的需求場景,靈活性較大。
- SimpleCursorAdapter:輸入資料是由資料庫(SQLite)查詢的Cursor時,將列從光標映射到 XML 文件中定義的 TextViews 或 ImageViews 的簡單適配器。可以指定所需的列、要顯示列的視圖以及定義這些視圖外觀的 XML 文件。綁定分兩個階段進行。
- BaseAdapter:需完整的客製化(Customization),可自訂 ListView,通用使用於被擴展。擴展 BaseAdapter 可以對各個列表項進行最大程度的定制
ListView 屬性:
屬性 |
描述 |
android:id |
這是唯一標識的布局的ID。 |
android:divider |
這是可拉伸或顏色列表項的繪製。 |
android:dividerHeight |
這指定分頻器的高度。這可能是px, dp, sp, in 或 mm。 |
android:entries |
指定引用數組的資源,將用於填充ListView。 |
android:footerDividersEnabled |
當設置為false,在ListView將不繪製每個頁腳視圖之前的分隔。默認值是true。 |
android:headerDividersEnabled |
當設置為false,在ListView將不繪製每個標題視圖之後的分隔。默認值是true。 |
BaseAdapter 抽象類別的常用函式:
屬性 |
描述 |
getCount() |
取得item的數量,通常數量就是從建構子傳入的陣列或是集合大小 |
getItem(int position) |
取得 ListView 列表於 position 位置上的 Item |
getItemId(int position) |
取得 ListView 列表於 position 位置上的 Item 的 id |
getView(int position, View convertView, ViewGroup parent) |
設定與回傳 convertView 作為顯示在這個 position 位置的 Item 的 View |
參考網址:
※ Android Developers - ListView
※ 農曆新年快樂!身體健康!萬事如意!世界和平!
沒有留言:
張貼留言