ListView是Android软件开发中非常重要组件之一,基本上是个软件基本都会使用ListView.ListView通常有两个职责。       (1)将数据填充到布局。   (2)处理用户的选择点击等操作。    第一点很好理解,ListView就是实现这个功能的。    第二点也不难做到,比较简单。        一个ListView的创建需要3个元素。   (1)ListView中的每一列的View。   (2)填入View的数据或者图片等。   (3)连接数据与ListView的适配器。    也就是说,要使用ListView,首先要了解什么是适配器。适配器是一个连接数据和AdapterView(ListView就是一个典型的AdapterView,后面还会学习其他的)的桥梁,通过它能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便。Android中提供了很多的Adapter,主要如下:    SimpleAdapter        用来绑定在xml中定义的控件对应的数据    SimpleCursorAdapter  用来绑定游标得到的数据    BaseAdapter          通用的基础适配器    一个简单的创建ListView的步骤:    1)创建数据集,一般定义如下    private List
> listItems;        元素添加方式:    Map
 map = new HashMap
();     map.put("p_w_picpath", imgeIDs[i]);          //图片资源    map.put("title", "物品名称:");           //物品标题    map.put("info", goodsNames[i]);      //物品名称    map.put("detail", goodsDetails[i]);   //物品详情    listItems.add(map);                         //添加一项        2)创建适配器    public class ListViewAdapter extends BaseAdapter{........}  //自定义的适配器一般继承BaseAdapter类    listViewAdapter = new ListViewAdapter(this, listItems);      3)给ListView设置适配器    listView.setAdapter(listViewAdapter);        4)这里还有个关键点,如何把list_item.xml布局作为一个视图,添加到listView中:    LayoutInflater listContainer;                                    //视图容器工厂    listContainer = LayoutInflater.from(context);                    //创建视图容器工厂并设置上下文    convertView = listContainer.inflate(R.layout.list_item, null);   //创建list_item.xml布局文件的视图            下面是一个简单的例子:        MainActivity.java:    package cn.llbb.testlistview1;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.*;import android.widget.*;import android.widget.AdapterView.OnItemClickListener;import java.util.*;public class MainActivity extends ActionBarActivity { private ListView list = null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list = (ListView) findViewById(R.id.listView1); List
> listitem= new ArrayList
>(); for(int i = 1 ; i <= 10; i++){ HashMap
 item = new HashMap
(); item.put("itemImage", R.drawable.ic_launcher); item.put("itemTitle", "这是第" + i + "行"); item.put("itmeContent", "这是第" + i + "行的内容"); listitem.add(item); } SimpleAdapter msimpleadapter = new SimpleAdapter(MainActivity.this, listitem, R.layout.item,                                           new String[]{"itemImage","itemTitle","itmeContent"},                                                          new int[]{R.id.itemImage,R.id.itemTitle,R.id.itemContext}); list.setAdapter(msimpleadapter); list.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView
 parent, View view, int position, long id) { setTitle("第" + (position + 1) + "行"); } }); }}        activity_main.xml:    
    
        item.xml: