2016年5月1日 星期日

ListView & Adapters 筆記

1.要使用ListView,也可以用ListActivity,不過ListActivity變化比較少,整個畫面就只能放一個ListView,而且ID固定

2.像是ListView,Spinner,GridView..等等的元件都叫做AdapterView,因為都要透過某種Adapter來指定資料

3.Adapter在MVC架構中就扮演著Controller的角色,也就是資料跟顯示元件之間溝通的橋樑

4.常見的Adapter有如下
BaseAdapter : 基本型Adapter,目測是用來讓其他Adapter繼承用的

ArrayAdapter : 顧名思義,主要用在處理單一陣列並顯示,要有變化就要改getView()

SimpleAdapter : 從官方文件可查到,只有一個建構子
public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
所以可以定義,SimpleAdapter主要用於項目內容超過一個時,可以利用其各自的ID快速對應上去,等於是想做花樣的時候,不需要用ArrayAdapter然後複寫getView()那麼麻煩
且強制使用裝Map的List

SimpleCursorAdapter : 跟SimpleAdapter類似,資料來源換成Cursor而已,學到現在只知道用在資料庫,不知道有沒有其他用途
有兩個建構子,主要使用這個
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
另一個只是多個旗標的參數,就不管了

5.Adapter.notifyDataSetChanged();
當資料發生變化,比如加一筆或少一筆或改一筆之後,使用此方法,就可以將顯示元件更新到最新資料狀態

沒有留言:

張貼留言