ListView动态刷新
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动态刷新相关推荐
- ListView动态刷新某项Item
使用ViewHolder来刷新某项数据,而不用每次都全部刷新数据. 继承BaseAdapter,新建ViewHolder类. public class TestListAdapter extends ...
- android 无刷新 好友,Android viewPage notifyDataSetChanged无刷新
转载 http://www.67tgb.com/?p=624 最近项目结束,搞了一次代码分享.其中一位同学分享了一下自己在解决问题过程中的一些心得体会,感觉受益匪浅.整理出来,分享给大家. 建议使用自 ...
- Android 动态刷新listview中的数据
之前一直困扰listview刷新后位置的问题,现在才明白,原来不能重新设置listview的adapter,而应该用notifyDataSetChanged()来刷新,这样位置就不会置顶. 下面做了一 ...
- ListView数据动态刷新
在Android开发中用到ListView时,经常遇到要更改ListView内容的情形,比如删除或增加ListView中显示的条目,这里给大家提供一下思路:不论ListView要显示的对象是什么(如: ...
- 动态刷新listview数据
之前一直困扰listview刷新后位置的问题,现在才明白,原来不能重新设置listview的adapter,而应该用notifyDataSetChanged()来刷新,这样位置就不会置顶. 下面 ...
- 动态刷新listview中的数据
转自:http://www.cnblogs.com/ProgramBull/archive/2012/02/06/2340401.html 之前一直困扰listview刷新后位置的问题,现在才明白,原 ...
- Android ListView列表 刷新和加载更多
上下拉实现刷新和加载更多的ListView,如下: package com.sin.android.ui;import android.content.Context; import android. ...
- Android 自定义ListView系列之适配器模式(少壮不努力,老大学IT)
最近做个项目,要用到异步加载,动态刷新UI等.看了下2.2系统的图库源码,感觉写的不错.同时又把ListView拿出来研究了下,做个笔记. 先上图: 1. Android中大量用到了适配器模式,比如L ...
- ListView刷新慢 注意点
[color=red]Adapter[/color]是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的[color=darkred]getView[/col ...
最新文章
- youtube-dl
- 【STM32】系统配置控制器相关函数和类型
- 【面试宝典 | 01】面经
- 红石32位cpu通用计算机,我的世界无命令方块32位红石电脑装置详解
- 批处理处理oracle数据库脚本导入
- 翟菜花:为什么说社区会是虚拟偶像驶向未来的新航标?
- PSP2000V3版5.03系统误删PSP文件夹的拯救方案
- 淘宝/天猫/京东/拼多多/苏宁易购/小米商城/华为商城/抖音快手直播/茅台抢购助手,宝惠抢购助手/OK助手源码
- mysql的month_MySQL MONTH()用法及代码示例
- Kafka的概念与命令操作
- Golang 数组的一些自问自答
- RTMP、RTSP、HTTP协议流常用直播流地址
- 推荐一款国产ECG心电芯片
- 【人脸识别】Haar分类器五官定位【含GUI Matlab源码 686期】
- java中数组的下标比较_【Java】 剑指offer(53-3) 数组中数值和下标相等的元素
- 草图大师免费模型分享2022.03.10之草图溜溜
- 计算机毕业设计Java游泳馆管理平台(系统+程序+mysql数据库+Lw文档)
- 正冠桩基础系列软件之桩施工情况竣工图视频教程
- gitlab修改密码和中文页面
- [WPF专业编程指南].李应保(奋斗的小鸟)_PDF 电子书