您的位置:首页 > 移动开发 > Android开发

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

2015-12-18 15:33 1016 查看
一、SimpleAdapter adpter=new SimpleAdapter(上下文,

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

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<String, Object> map = new HashMap<String, 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() 这个方法。

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

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


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: