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