ListView

ListView(列表視圖控件)
-----------------------------------------
ListView用於顯示若干條垂直方向排列的數據,例如手機聯繫人、QQ聊天列表、微信朋友圈、微博列表……


開發ListView的4個基本要素
-----------------------------------------
1) ListView控件:容器、索取者
2) 數據源,通常是List集合:數據的承載
3) 模板(ArrayAdapter使用到的R.layout.xxx):ListView的每項數據顯示的外觀
4) Adapter(適配器):ListView每項數據的提供者,組裝數據、模板的組裝者


開發ListView的流程
-----------------------------------------
1) 在activity_main.xml中添加ListView控件,至少配置id、layout_width、layout_height屬性,除此以外,ListView沒有必要屬性
2) 在MainActivity.java中,創建數據源List<?>,並在其中添加各項數據(Ps:在使用ArrayAdapter時,數據的集合都應該是List<String>類型的)
3) 在res\layout下,創建新的XML文件,根節點直接選擇TextView
4) 在MainActivity.java中,聲明並創建ArrayAdapter<String>,構造方法中應用R.layout.xxxx(第3步驟的文件)和數據源
5) 初始化ListView控件的對象,調用ListView的setAdapter()方法,爲其配置ArrayAdapter即可、

關於ArrayAdapter
-----------------------------------------
使用ListView+ArrayAdapter的組合,只能實現ListView中的每項僅僅顯示1種數據


關於ListView的監聽器
-----------------------------------------
【常用】OnItemClickListener
抽象方法:onItemClick(AdapterView<?> parent, View view, int position, long id)
參數說明:
AdapterView<?> parent:表示點了哪個ListView觸發當前監聽器,因爲同一個界面上允許存在若干個ListView,通常根據parent.getId()並使用switch語法進行區分判斷
View view:表示點了哪個Item,即參數就是對應的整個Item,如果需要獲取該Item內的內容,可以通過view.findViewById()找到Item中的某個控件
int position:表示點擊的Item在ListView中的位置,該值是從0開始順序編號的,並且,該值可以對應數據源(List集合)中數據的位置
long id:(無視)


發佈了25 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章