《Android》『ListView』- 使用 ArrayAdapter 於程式碼中設定清單內容 (動態載入)

《Android Developers 參考文獻》

➥ListView

 

《簡單介紹》

在上一篇 ListView 的基本用法(靜態載入)中,我們已經介紹過如何透過直接在介面布局檔(.xml)中設定 ListView 的清單內容資訊,來快速建立此 ListView,但若是我們想要在程式開始執行以後,才去對 ListView 設定清單內容,此時我們可以使用 ArrayAdapter 來做設定。

《使用 ArrayAdapter 來設定 ListView 的清單內容資訊》

ArrayAdapter 是在 Android 當中最簡單的 adapter,它可以連結一個字串陣列到一個只有一個 TextView 元件的 ListView 物件當中。我們可以說,ListView 類別是負責將列表顯示在螢幕上,而 Adapter 類別負責處理資料內容與介面的連結。

這邊我們透過程式碼片段的方式,說明如何使用 ArrayAdapter。

activity_main.xml

string.xml

這裡我們同樣於介面布局檔(.xml)中宣告了 ListView 元件,並且於資源檔(string.xml)中,定義了列表清單內容,接著我們透過 ArrayAdapter 在程式碼中設定 ListView 的相關屬性。

MainActivity.java

android.R.layout.simple_list_item_single_choice 是 Android SDK 所提供的資源檔,提供了一個基本的單選介面,使用這個介面以後,我們還必須透過 .setChoiceMode(ListView.CHOICE_MODE_SINGLE) 將選單設為單選模式;我們透過 ArrayAdapter.createFromResource() 的方式,建構並定義 ArrayAdapter 中所使用到的列表內容資訊以及列表樣式。接著透過 ListView.setAdapter() 來將指定的 ArrayAdapter 物件設定給所使用的 ListView 物件。這麼一來,一個基本的動態載入 ListView 就完成了。

➥『ListView』- 自訂一個繼承 BaseAdapter 的 Adapter 以實現客製化 ListView

 

《使用 Adapter 的好處》

使用 Adapter 來處理 ListView 資料的好處是,LisetView的資料可以隨著程式運行動態的改變,我們利用 ArrayAdapter 的 add() 方法新增資料到 adapter 尾端或是用 insert() 方法新增資料到特定的位置;刪除資料則使用 remove() 方法。

需要注意的是,一旦adapter內的資料有了變更,則 adapter 和 ListView 的內容就失去了同步,這個時候需要由 adapter 發送一個 notifyDataSetChanged() 方法通知 ListView 重新同步顯示的內容。

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,偶爾一起暴飲暴食再偶爾一起節食減肥,最沒恆心與毅力但一路走來也持續減肥了好幾次,我們重量不重質,所以完全沒有效果也是理所當然的事。

上 / 下一篇文章

臉書留言

一般留言

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *