Android笔记(4) ---ListView绑定SimpleAdapter适配器并下拉刷新数据

一、SimpleAdapter adpter=new SimpleAdapter(上下文,

带有Map集合的List集合数据(List>),

ListView布局文件,

对应数据源的 Map集合的 key的值(new String[]{“”,“”}),

对应布局文件中 控件的id的数组(new int[]{}));

SimpleAdapter的适配器 一共有这五个参数。


二、ListView 有两个常用监听器

1:setOnItemClickListener  这个是点击某一项会触发事件 的监听器

 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
//           @Override
//           public void onItemClick(AdapterView parent, View view, int position, long id) {
//               Toast.makeText(MainActivity.this, "你点击的是" + res[position], Toast.LENGTH_SHORT).show();
//           }
//       });
2. setOnScrollListener 这个是滑动屏幕会触发的监听器

SCROLL_STATE_PLING:这个是  手指离开屏幕,屏幕会跟随惯性继续滑动。

SCROLL_STATE_IDLE:  这个是 屏幕停止滑动。

SCROLL_STATE_TOUCH_SCROLL: 这个是 屏幕跟随手指上下滑动。

listView.setOnScrollListener(new AbsListView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        switch (scrollState)
        {
            case SCROLL_STATE_FLING:
                Log.i("Main","手指离开屏幕,屏幕继续滑动");
                for(int i=0;i<3;i++) {
                    Map, Object> map = new HashMap, Object>();
                    map.put("pic",R.mipmap.ic_launcher);
                    map.put("text","新添加"+i);
                    ListData.add(map);
                    adapter1.notifyDataSetChanged();
                }
                break;

            case SCROLL_STATE_IDLE:
                Log.i("Main","屏幕停止滑动");
                break;

            case SCROLL_STATE_TOUCH_SCROLL:
                Log.i("Main","屏幕跟随手动滑动");
                break;
        }
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

    }
});
三、实现下拉刷新数据

就是在 监听器里面实现的:

在里面 实例化map集合 并且map.put 添加数据,

   list.add(map)在把map集合添加到list集合中。

最后千万不能忘了   SimpleAdapter.notifyDataSetChanged() 这个方法。

这个方法是 动态更新视图所包含的数据。

这样就做到了 下拉刷新的功能。

你可能感兴趣的:(Android笔记)