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:(無視)