listView小总结

一:常用的下拉刷新 :

1.Ultra Pull To Refresh(带上拉加载)
2.PullToRefreshLayout: http://blog.csdn.net/lib739449500/article/details/45563775;http://blog.csdn.net/ueryueryuery/article/details/17440465/
3.google 自带:SwipeRefreshLayout


二:listView 数据改变时自动更新listview列表:

1.adapter.notifyDataSetChanged()的用法:
0)、本质上是listview绑定Adapter,Adapter关联List,因此List变化后导致Adapter同步变化;再通过调用adapter.notifyDataSetChanged();方法使得listview界面自动更新。
操作:
1)、List<String> strName = new ArrayList<String>();//实际的数据源
2)、Adapter adapter = new ArrayAdapter<String>(context,R.layout.xmlforitem, strName);//适配器,其中 R.layout.xmlforitem是列表中每一项的布局,可以用默认的也可自建,strName则是将数据源绑定到适配器
3)、listView.setAdapter(adapter);//将适配器绑定到列表显示控件ListView;
4)、strName.add("TEST ONE");//增加一项,引起list变化,Adapter也随之变化;
5)、adapter.notifyDataSetChanged();//调用notifyDataSetChanged();更新适配器,ListView会自动刷新,notifyDataSetChanged()方法可能需要在UI线程中调用,建议自行测试;

6)、数据增加可能引起内存变化,需防内存溢出;

注:listview的数据改变时,调用adapter.notifyDataSetChanged(),则自动更新列表界面(参考上篇Ultra Pull To Refresh上拉下拉结合适配器的使用);使用SimpleAdapter 和 ArrayAdapter的时候 这个方法无效

adapter.notifyDataSetChanged()无效时:

2.在adapter提供的方法有 notifyDataSetChanged()这个方法, 但是在使用SimpleAdapter 和 ArrayAdapter的时候 这个方法无效
 我们可以 将 adapter = getAdapter(); listview.setAdapter(adapter);这两行代码放在数据变化时来执行 就可以更新数据显示了
另外:我们可以 在 activity中开启一个Handler  在数据变化时向handler发送信息 提示更新 handler.setEmptyMessage(what);
在handler.handMessage()中处理adapter = getAdapter(); listview.setAdapter(adapter);这两行代码
三:listview适配器类型:根据列表的适配器类型,列表分为四种,ArrayAdapter、SimpleAdapter、SimpleCursorAdapter以及自定义Adapter。用法:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0107/786.html



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值