LisView介紹:
(一)、ListView 概念:
ListView是Android中最重要的組件之一,幾乎每一個Android應用中都會使用ListView。它以垂直列表的方式列出所需的列表項。
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView
↳ android.widget.AbsListView
↳ android.widget.ListViewjava
(二)、ListView的兩個職責:
(三)、列表的顯示須要三個元素:
- 1.ListVeiw:用來展現列表的View;
- 2.適配器: 用來把數據映射到ListView上的中介;
- 3.數據源: 具體的將被映射的字符串,圖片,或者基本組件。
(四)、什麼是適配器?
適配器是一個鏈接數據和AdapterView的橋樑,經過它能有效地實現數據與AdapterView的分離設置,使AdapterView與數據的綁定更加簡便,修改更加方便。將數據源的數據適配到ListView中的經常使用適配器有:ArrayAdapter、SimpleAdapter 和 SimpleCursorAdapter。android
- ArrayAdapter最爲簡單,只能展現一行字;
- SimpleAdapter有最好的擴充性,能夠自定義各類各樣的佈局,除了文本外,還能夠放ImageView(圖片)、Button(按鈕)、CheckBox(複選框)等等;
- SimpleCursorAdapter能夠認爲是SimpleAdapter對數據庫的簡單結合,能夠方便地把數據庫的內容以列表的形式展現出來。
- 可是實際工做中,經常使用自定義適配器。即繼承於BaseAdapter的自定義適配器類。
(五)、ListView的經常使用UI屬性:
- android:divider
- android:dividerHeight
- android:entries
- android:footerDividersEnabled
- android:headerDividersEnabled
建立ListView
(一)、ArrayAdapter實現單行文本ListView:
一、使用步驟。數據庫
- 定義一個數組來存放ListView中item的內容;
- 經過實現ArrayAdapter的構造方法建立一個ArrayAdapter對象;
- 經過ListView的setAdapter()方法綁定ArrayAdapter。
ArrayAdapter有多個構造方法,最經常使用三個參數的那種。數組
- 第一個參數:上下文對象;
- 第二個參數:ListView的每一行(也就是item)的佈局資源id;
- 第三個參數:ListView的數據源。
二、使用系統自帶佈局文件的不一樣效果:less
- A、android.R.layout.simple_list_item_1
- B、android.R.layout.simple_list_item_checked
- C、android.R.layout.simple_list_item_multiple_choice
- D、android.R.layout.simple_list_item_single_choice
三、核心代碼:ide
ListView的監聽器與Spinner的監聽器的區別:佈局
- Spinner是:setOnItemSelectedListener
- ListView是:setOnItemClickListener
這兩個監聽器是否能夠互換使用呢?ui
- 在Spinner中使用OnItemClickListener會異常。java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner。而若是在ListView中使用OnItemSelectedListener,則沒有反應,也就是說該監聽器不會被觸發執行;
- OnItemSelectedListener 監聽器的回調方法中,parent.getSelectedItem()和parent.getItemAtPosition(position)都能返回object對象。而OnItemClickListener監聽器的回調方法中parent.getSelectedItem()只能返回null。
(二)、 SimpleAdapter 實現多行文本ListView:
一、使用步驟。code
- 定義一個集合來存放ListView中item的內容;
- 定義一個item的佈局文件;
- 建立一個 SimpleAdapter 對象;
- 經過ListView的setAdapter()方法綁定 SimpleAdapter 。
二、核心代碼:對象
(三)、SimpleAdapter實現多行文本且帶圖片ListView:
一、使用步驟。
- 定義一個集合來存放ListView中item的內容;
- 定義一個item的佈局文件;
- 建立一個 SimpleAdapter 對象;
- 經過ListView的setAdapter()方法綁定 SimpleAdapter 。
二、核心代碼:
BaseAdapter自定義適配器實現ListView:
一、使用步驟
二、核心代碼:
(五)、convertView原理:
![](http://static.javashuo.com/static/loading.gif)