ListAdapter是一個整個Activity有且僅有一個ListView控件的Activity
使用步驟:
1. 創建MyListViewAdapter(類名可以自定義) extends ListAdapter
2. 實現setContentView布局,布局文件中必須有一個android:id="@android:id/list";的ListView控件
3. 在onCreate里調用setListAdapter的方法,傳一個Adapter即可
如果傳遞的是一個SimpleAdapter
SimpleAdapter的構造方法參數說明:
new SimpleAdapter(this,
list,
android.R.layout.two_line_list_item,
new String[]{"title", "desc"},
new int[]{android.R.id.text1, android.R.id.text2})
第一個參數:Context 上下文
第二個參數:list數據,類型:List<Map<String,String>>
該數據的格式:
list = new ArrayList<Map<String,String>>();
for (int i = 0; i < 10; i++){
Map<String, String> map = new HashMap<String, String>();
map.put("title", "title_" + i);
map.put("desc", "desc_" + i);
list.add(map);
}
List<Map<String,String>>類型的數據相當於一個二維表:
title desc ---標題
===========================
title_1 desc_1 ---內容
title_2 desc_2 ---內容
title_3 desc_3 ---內容
title_4 desc_4 ---內容
title_5 desc_5 ---內容
第三個參數:new String[]{"title", "desc"} 是列名的數組,根據這個列名,到二維表里找數據
第四個參數: new int[]{android.R.id.text1, android.R.id.text2} 布局文件中定義的存放內容的TextView的id
如果是自己的布局,則是R.id.text1 R.id.text2
如果是Android的布局,則是android.R.id.text1 android.R.id.text2