Android listview局部刷新
来源:互联网 发布:淘宝起什么名字好 编辑:程序博客网 时间:2024/04/28 04:08
我们都知道adapter.notifyDataSetChanged()方法可以通知adapter进行界面刷新,此方法是将界面中的数据全部刷新一遍,虽然listview自身做了缓存,并且我们复用了convertView,但是当前界面的item布局还是会全部刷新,如果我们只是改变item的一个属性,比如点赞就要全部刷新数据,有点小题大做了。所以实现局部刷新是很有必要的。使用如下:
第一步。我们获取要刷新的item数据源和需要刷新item的索引:
listview.setOnItemClickListener(newAdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //数据源内容同步更新 Useruser(User)parent.getItemAtPosition(position); user.setName("iam change"); //更新被点击控件内容,代替调用adapter.notifyDataSetChanged();方法 updateName(user.getName, position); } });
第二步。单独刷新需要更新的view:
private void updateName(String name, int position) { int firstVisiblePosition = listview.getFirstVisiblePosition(); int lastVisiblePosition = listview.getLastVisiblePosition(); //在看见范围内才更新进度条 if (position >= firstVisiblePosition && position <= lastVisiblePosition) { //获取指定位置view对象 View view = listview.getChildAt(position - firstVisiblePosition); if (view.getTag() instanceof TestListViewAdapter.ViewHolder) { //获取指定view对应的ViewHolder TestListViewAdapter.ViewHolder viewHolder = (TestListViewAdapter.ViewHolder) view.getTag(); viewHolder.name.setText(name); } } }
很简单的就实现了。
0 0
- Android ListView 局部刷新
- Android ListView局部刷新
- android listview 局部刷新
- Android ListView局部刷新
- Android listview局部刷新
- android:ListView的局部刷新
- 【android】ListView的局部刷新
- android:ListView的局部刷新
- Android ListView的局部刷新
- Android ListView局部刷新数据
- android Listview,gridview局部刷新,部分刷新
- android Listview,gridview局部刷新,部分刷新
- android Listview,gridview局部刷新,部分刷新
- android Listview,gridview局部刷新,部分刷新
- android Listview,gridview局部刷新,部分刷新
- android Listview,gridview局部刷新,部分刷新
- android Listview,gridview局部刷新,部分刷新
- android Listview,gridview局部刷新,部分刷新
- Linux驱动技术(八) _并发控制技术
- [问题解决]Fresco设置圆角效果不生效问题探究
- 分块-教主的魔法
- 同一页面内的位置跳转(锚跳转)
- RxJava 与 Retrofit 完美结合实践
- Android listview局部刷新
- suspend通过console debug
- 解决Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- SPOJ BOXES
- 初识Maven
- 屏幕适配时,别名资源的使用
- C# 网络测试工具
- xcode 上传 remote git 多种情况命令行操作
- 修改tomcat默认的编码方式