ListView的使用方法
ListView是Android软件开发中非常重要组件之一,基本上是个软件基本都会使用ListView ,今天我通过一个demo来教大家怎么样使用ListView组件 绘制出漂亮的列表,说道 ListView就不得不说Adapter适配器,因为只有通过Adapter才可以把列表中的数据映射到ListView中。
在开发中最Adapter 一共可以分为
ArrayAdapter<T>,
BaseAdapter,
CursorAdapter,
HeaderViewListAdapter,
ResourceCursorAdapter,
SimpleAdapter,
SimpleCursorAdapter,
WrapperListAdapter
软件开发中最常用的有ArrayAdapter<T>, BaseAdapter, SimpleAdapter,今天我用一段代码向大家诠释如何使用ListView控件。
1.简单的ListView
在List列表中如果不存在过于复杂的东西 我们可以直接去new ArrayAdapter() 来绘制列表,无须继承ArrayAdapter,重写它的方法。但是如果列表中过于复杂的话就需要使用自定义布局来实现List列表。
实现代码:
public class SimpleList extends ListActivity {
1 private String[] mListStr = {"姓名:亚嵌教育","性别:男","年龄:25","居住地:北京","邮箱:wh2002lyglb@hotmail.com"};
2 ListView mListView = null;
3 @Override
4 protected void onCreate(Bundle savedInstanceState) {
5 mListView = getListView();
6 setListAdapter(new ArrayAdapter<String>(this,
7 android.R.layout.simple_list_item_1, mListStr));
8 mListView.setOnItemClickListener(new OnItemClickListener() {
9 @Override
10 public void onItemClick(AdapterView<?> adapterView, View view, int position,
11 long id) {
12 Toast.makeText(SimpleList.this,"您选择了" + mListStr[position], Toast.LENGTH_LONG).show();
13 }
14 });
15
16 super.onCreate(savedInstanceState);
17 }
18 }
2.带标题的ListView列表
使用 simpleAdapter 需要注意的是须要用Map<String,Object> item 来保存列表中每一项的显示的title与text , new SimpleAdapter的时候将map中的数据写入 ,程序就会帮我们绘制列表了。
public class TitleList extends ListActivity {
19 private String[] mListTitle = { "姓名", "性别", "年龄", "居住地","邮箱"};
20 private String[] mListStr = { "亚嵌教育", "男", "25", "北京",
21 "akaedu005@hotmail.com " };
22 ListView mListView = null;
23 ArrayList<Map<String,Object>> mData= new ArrayList<Map<String,Object>>();;
24
25 @Override
26 protected void onCreate(Bundle savedInstanceState) {
27 mListView = getListView();
28
29 int lengh = mListTitle.length;
30 for(int i =0; i < lengh; i++) {
31 Map<String,Object> item = new HashMap<String,Object>();
32 item.put("title", mListTitle[i]);
33 item.put("text", mListStr[i]);
34 mData.add(item);
35 }
36 SimpleAdapter adapter = new SimpleAdapter(this,mData,android.R.layout.simple_list_item_2,
37 new String[]{"title","text"},new int[]{android.R.id.text1,android.R.id.text2});
38 setListAdapter(adapter);
39 mListView.setOnItemClickListener(new OnItemClickListener() {
40 @Override
41 public void onItemClick(AdapterView<?> adapterView, View view, int position,
42 long id) {
43 Toast.makeText(TitleList.this,"您选择了标题:" + mListTitle[position] + "内容:"+mListStr[position], Toast.LENGTH_LONG).show();
44 }
45 });
46 super.onCreate(savedInstanceState);
47 }
48 }