`
stephen830
  • 浏览: 3026511 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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();
 

 

 

 

分享到:
评论
1 楼 电点mxn 2015-06-03  
不会刷新胡

相关推荐

    ListView添加数据后动态刷新Demo

    动态刷新意味着当数据发生变化时,ListView能够实时反映出这些变化,而无需重新加载整个列表。 首先,我们来理解ListView的基本结构。ListView由多个列表项(ListView Item)组成,每个列表项通常对应一个自定义的...

    Android_ListView动态刷新

    ### Android ListView 动态刷新详解 在Android应用开发中,`ListView`是显示大量数据集的常用组件之一,尤其在需要展示列表项时非常实用。然而,在数据集更新时,如何实现实时或动态地刷新`ListView`,是开发者经常...

    Android中ListView动态刷新

    - 文件`GIF.gif`可能是一个示例动图,演示了ListView在调用`notifyDataSetChanged()`后动态刷新的过程,帮助理解这一操作的效果。 6. **注意事项** - 更新数据源后必须调用`notifyDataSetChanged()`,否则...

    listview局部刷新Demo

    然而,当数据更新时,如果使用默认的刷新方式,ListView会重新绘制整个列表,这可能导致性能问题,特别是当列表包含大量条目时。因此,理解并实现ListView的局部刷新机制至关重要,这能够显著提升用户体验并优化应用...

    ListView视图动态增加与删除控件条目,内容

    在实际应用中,我们经常需要对ListView进行动态操作,比如动态增加、删除控件条目,甚至允许用户编辑这些条目的内容。下面将详细阐述如何实现这个功能。 首先,我们需要了解ListView的基本结构。ListView通常结合...

    ListView刷新原理及实现

    3. **DataSetChanged()**:当你改变Adapter的数据集后,调用` notifyDataSetChanged()`会告诉ListView数据已经发生变化,需要重新绘制。ListView会重新调用`getView()`方法,根据新数据生成或更新列表项。但是,这种...

    android listview 标题带栏下拉刷新

    在代码实现过程中,还要考虑一些细节,比如防止在刷新过程中再次触发刷新,以及在刷新完成后恢复标题栏和列表的状态。此外,为了提供更好的用户体验,可以添加一些动画效果,比如平滑过渡、弹性回弹等。 最后,为了...

    无刷新更新listview

    无刷新更新ListView是一种提高用户体验的重要技术,特别是在处理大量数据或者实时动态更新的场景下。ListView是Android系统中常用的视图组件,它允许我们以列表的形式展示数据,而且可以通过滚动加载更多的内容。在...

    listview上下拉刷新源码

    在数据刷新后,你需要更新Adapter的数据集,然后调用`notifyDataSetChanged()`通知ListView数据已改变。 6. **事件监听**:为了响应用户的上下拉动作,你需要在适配器或ListView中添加适当的事件监听器,例如...

    安卓下拉上拉刷新相关-listView下拉刷新上拉刷新带阻尼效果.rar

    图片文件可能展示了下拉刷新和上拉加载过程中不同状态的UI界面,比如刷新头部的不同动画状态,或者是用户触发刷新操作后,刷新指示器的变化过程。这些图片对于理解代码的工作原理和调整UI设计非常有帮助。 "JavaApk...

    ListView刷新和监听滚动事件选项事件的例子

    例如,当你从网络获取新数据并更新到Adapter的数据源后,调用这个方法,ListView会自动刷新显示最新的内容。 接下来是监听ListView的滚动事件。要实现这一功能,我们需要在Activity或Fragment中添加一个...

    android listview 动态适应高度问题

    然而,当ListView的数据项数量不确定,或者每个数据项的高度不固定时,如何让ListView动态适应屏幕高度,避免出现滚动条异常或内容显示不全的问题,就成了一个常见的挑战。本篇文章将详细探讨这个问题,并提供一种...

    ListView下拉刷新/上拉更多

    当用户在顶部抓住ListView并向下拖动时,如果支持下拉刷新,ListView头部会显示出一个刷新指示器,松手后会自动触发数据的更新操作。这一功能常用于社交应用、新闻应用等需要实时信息的场景。 上拉加载更多(Load ...

    Gallery异步加载图片和listView动态刷新 .rar

    在处理动态数据源时,如网络数据流,ListView需要支持动态刷新,即在数据变化时只更新对应的部分,而不是重新绘制整个列表。项目中可能实现了ListView的onDataSetChanged()方法,或者利用了AbsListView的...

    Android应用源码之listView下拉刷新上拉刷新带阻尼效果.zip

    在ListView的下拉刷新和上拉加载中,阻尼效果体现在滑动停止后,列表项会缓慢地回到初始位置,而不是立即停止,这使得交互更加流畅。 4. **自定义视图动画**:为了实现这些高级交互,开发者需要自定义View动画,...

    Android下拉刷新ListView——RTPullListView

    // 刷新完成后调用下面的方法 pullListView.refreshComplete(); } }); ``` 5. **处理数据加载**:在`onRefresh()`方法中,你可能需要通过网络请求或者本地数据库获取新的数据。一旦数据加载完成,调用`...

    listView下拉刷新上拉刷新带阻尼效果

    而“下拉刷新”和“上拉加载更多”的功能则极大地提升了用户体验,让用户在滚动到列表顶部时能获取最新数据(下拉刷新),滚动到底部时加载更多内容(上拉加载)。这种带有阻尼效果的设计,即在用户停止滑动后,列表...

    拖动刷新加载listview页面

    在Android应用开发中,"拖动刷新加载ListView页面"是一个常见的功能,允许用户通过上滑手势更新列表内容,通常用于加载更多数据。这个功能极大提升了用户体验,让用户在浏览长列表时能够轻松获取新数据。接下来,...

    自定义 listview 下拉刷新

    为了实现这个功能,开发者通常需要进行自定义开发,这就是"自定义listview下拉刷新"的主要内容。 一、自定义下拉刷新的基本原理 下拉刷新功能主要是通过监听用户的滑动事件来触发的。当用户在ListView顶部向下拉动...

    Android ListView动态查询更新代码

    - `ContentObserver`:监控数据变化,当数据更新时自动触发ListView的刷新。 3. **更新ListView** - `notifyDataSetChanged()`:当数据源发生变化时,调用此方法通知ListView重新加载数据。 - `HeaderView`和`...

Global site tag (gtag.js) - Google Analytics