《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 重新同步顯示的內容。

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,最近迷上了宅在家追劇,希望能透過文字將所有看過的影集好好紀錄,整理成屬於我們自己的回憶資料庫。

上 / 下一篇文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *