ListView内容变化后的动态刷新

基本知识点:

1.更新适配器Adapter数据源

2.调用适配器Adapter的刷新方法notifyDataSetChanged()

首先需要定义ListView和对应适配器Adapter:

//用于显示用户列表的ListView
private ListView userList = null;
//用户列表userList对应的适配器
SimpleAdapter simpleAdapter = null;
//用户列表userList对应的适配器的数据源
List<Map<String,?>> dataSimpleAdapter = new ArrayList<Map<String,?>>();
//用户列表ListView行布局元素
int[] userListViewTo = null;
//用户列表ListView行布局元素对应的适配器key值
String[] userListViewFrom = null;
/**
* 初始化用户列表组件适配器.
*/
public void initUserListViewAdapter(){
userList = (ListView)findViewById(R.id.user_list_users);
userListViewTo = new int[]{R.id.user_list_item_user_id,
R.id.user_list_item_user_Login_id,
R.id.user_list_item_user_login_pass};
int len = userListViewTo.length;
userListViewFrom = new String[len];
for(int i=0;i<len;i++){
userListViewFrom[i]=String.valueOf(i);
}
} 

然后配置ListView的适配器 Adapter:

    /**
* 显示ListView组件.
*/
public void showListView(){
//用户列表ListView布局文件
int resource = R.layout.user_list_item;
//准备适配器数据源
createAdapterData();
//绑定适配器并返回
simpleAdapter = new SimpleAdapter(context, dataSimpleAdapter, resource, userListViewFrom, userListViewTo);
//设置ListView组件的适配器.
userList.setAdapter(simpleAdapter);
}
/**
* 生成适配器数据源
* @param itemCount
*/
public void createAdapterData(){
//准备适配器内容
dataSimpleAdapter.clear();//确保数据源是空的
int itemLength = 3;
for(int i=0;i<itemLength;i++){
Map<String,Object> map = new HashMap<String,Object>();
map.put(userListViewFrom[0], "数据列1-"+i);
map.put(userListViewFrom[1], "数据列2-"+i);
map.put(userListViewFrom[2], "数据列3-"+i);
dataSimpleAdapter.add(map);
}
} 

最后,只要更新适配器simpleAdapter的数据源dataSimpleAdapter,然后执行方法:

//刷新listview
simpleAdapter.notifyDataSetChanged();

ListView动态刷新相关推荐

  1. ListView动态刷新某项Item

    使用ViewHolder来刷新某项数据,而不用每次都全部刷新数据. 继承BaseAdapter,新建ViewHolder类. public class TestListAdapter extends ...

  2. android 无刷新 好友,Android viewPage notifyDataSetChanged无刷新

    转载 http://www.67tgb.com/?p=624 最近项目结束,搞了一次代码分享.其中一位同学分享了一下自己在解决问题过程中的一些心得体会,感觉受益匪浅.整理出来,分享给大家. 建议使用自 ...

  3. Android 动态刷新listview中的数据

    之前一直困扰listview刷新后位置的问题,现在才明白,原来不能重新设置listview的adapter,而应该用notifyDataSetChanged()来刷新,这样位置就不会置顶. 下面做了一 ...

  4. ListView数据动态刷新

    在Android开发中用到ListView时,经常遇到要更改ListView内容的情形,比如删除或增加ListView中显示的条目,这里给大家提供一下思路:不论ListView要显示的对象是什么(如: ...

  5. 动态刷新listview数据

     之前一直困扰listview刷新后位置的问题,现在才明白,原来不能重新设置listview的adapter,而应该用notifyDataSetChanged()来刷新,这样位置就不会置顶. 下面 ...

  6. 动态刷新listview中的数据

    转自:http://www.cnblogs.com/ProgramBull/archive/2012/02/06/2340401.html 之前一直困扰listview刷新后位置的问题,现在才明白,原 ...

  7. Android ListView列表 刷新和加载更多

    上下拉实现刷新和加载更多的ListView,如下: package com.sin.android.ui;import android.content.Context; import android. ...

  8. Android 自定义ListView系列之适配器模式(少壮不努力,老大学IT)

    最近做个项目,要用到异步加载,动态刷新UI等.看了下2.2系统的图库源码,感觉写的不错.同时又把ListView拿出来研究了下,做个笔记. 先上图: 1. Android中大量用到了适配器模式,比如L ...

  9. ListView刷新慢 注意点

    [color=red]Adapter[/color]是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的[color=darkred]getView[/col ...

最新文章

  1. youtube-dl
  2. 【STM32】系统配置控制器相关函数和类型
  3. 【面试宝典 | 01】面经
  4. 红石32位cpu通用计算机,我的世界无命令方块32位红石电脑装置详解
  5. 批处理处理oracle数据库脚本导入
  6. 翟菜花:为什么说社区会是虚拟偶像驶向未来的新航标?
  7. PSP2000V3版5.03系统误删PSP文件夹的拯救方案
  8. 淘宝/天猫/京东/拼多多/苏宁易购/小米商城/华为商城/抖音快手直播/茅台抢购助手,宝惠抢购助手/OK助手源码
  9. mysql的month_MySQL MONTH()用法及代码示例
  10. Kafka的概念与命令操作
  11. Golang 数组的一些自问自答
  12. RTMP、RTSP、HTTP协议流常用直播流地址
  13. 推荐一款国产ECG心电芯片
  14. 【人脸识别】Haar分类器五官定位【含GUI Matlab源码 686期】
  15. java中数组的下标比较_【Java】 剑指offer(53-3) 数组中数值和下标相等的元素
  16. 草图大师免费模型分享2022.03.10之草图溜溜
  17. 计算机毕业设计Java游泳馆管理平台(系统+程序+mysql数据库+Lw文档)
  18. 正冠桩基础系列软件之桩施工情况竣工图视频教程
  19. gitlab修改密码和中文页面
  20. [WPF专业编程指南].李应保(奋斗的小鸟)_PDF 电子书

热门文章

  1. 大数据处理——Java
  2. 疾病研究:LEMS和先天性肌无力患者指南
  3. python定义一个字符串数组赋值_Python ctypes:传递一个字符串数组
  4. 有源雷达与无源雷达、主动雷达与被动雷达
  5. 架设局域网升级服务器 用WSUS打补丁
  6. OpenCV视频目标跟踪及背景分割器
  7. layout_centerVertical=true用法
  8. 基于人脸识别的“带口罩”系统-python完整实现
  9. Java常用设计模式-策略模式
  10. 项目经理和产品经理的区别是什么?从这些方面来看