ListView

public class MainActivity extends ActionBarActivity {

    private ListView lv;
    private ArrayAdapter arr_adapter;
    private String [] contents = null;
    private SimpleAdapter sim_adapter;
    private List<Map<String,Object>>  datalist;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        contents = new String[]{"葫芦娃144444444445555555555521111111111211111111122222222222222223333333333333332112222222222222","葫芦娃1","葫芦娃1","葫芦娃1","葫芦娃1","葫芦娃1","葫芦娃1","葫芦娃1","葫芦娃1","葫芦娃123","葫芦娃1","葫芦娃222","葫芦娃1","葫芦娃333","葫芦娃1","葫芦娃1"};
        arr_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 ,contents);
        lv = (ListView) findViewById(R.id.lv1);
        datalist = new ArrayList<Map<String,Object>> ();//注意初始化,
        //sim_adapter = new SimpleAdapter(context, data, resource, from, to);
        sim_adapter = new SimpleAdapter(this, getData(), R.layout.item, new String []{"pic","text"}, new int []{R.id.pic,R.id.text});
      //每个参数的具体含义 lv.setAdapter(sim_adapter); }
private List<Map<String,Object>> getData() { for(int i=0;i<20;i++){ Map map = new HashMap<String, Object>(); map.put("pic", R.drawable.ic_launcher); map.put("text", "葫芦娃"+i+"号"); datalist.add(map); } return datalist; } }

2.课程目标
理解ListView的基础使用
学会熟练运用两种适配器ArrayAdapter simpleAdapter
学会熟练使用运用两种监听器 : OnScrollListener OnItemClickListener
适配器的数据刷新的作用
ListView:每一个ListView都可以包含多个列表项
数据源 列表样式 监听事件
数据适配器
作用: 把复杂的数据(数组、链表、数据库、集合)填充在指定视图界面上
ArrayAdapter : 用于绑定单一格式的数据, 纯文字版的listView
SimpleAdapter :用于绑定格式复杂的数据 ,图文并茂的ListView
数据源: 只能是特定泛型的集合
数据适配器是连接数据源和视图的桥梁

数据适配器的使用: 新建数据适配器--->加载数据--->ListView设置适配器

ArrayAdapter的三个参数 :(上下文,当前ListView加载的每一个列表项对应的布局文件,数据源);
arr_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 ,contents);

SimpleAdapter simp_adapter = new SimpleAdapter(context, data, resource, from, to);
只有一个构造函数,包含五个参数
1.上下文
2.data : 数据源必须为由map组成的List集合,每一个map代表一个列表项;
3.列表项的布局ID
4.from:Map中的键值名
5.to:绑定视图中的ID,与from成对应关系;


监听器:
item 点击事件
滚动状态的监听:包含三种状态:
1.手指离开屏幕之前用力滑动了一下。2.视图已停止滑动
3.手指没有离开屏幕在滑动
下拉刷新时注意:调用适配器的通知方法:notifyDatasetchanged(),可以动态的更新视图中所包含的数据
很好的MVC的一个运用

原文地址:https://www.cnblogs.com/taotaomajia/p/4533481.html