Android_List局部刷新某一个item
来源:互联网 发布:动作特效软件 编辑:程序博客网 时间:2024/06/05 04:10
需求以点赞为例子只刷新点赞的数量并将点赞的哪一个设置为黑色,因为直接用adapter的notifyDataSetChanged 会全部刷新
需要浪费时间 而且图片重新加载会导致闪烁,造成不好的用户体验感
核心代码
public void updateItem(ListView listView, BBS bbs) { if (listView != null) { int start = listView.getFirstVisiblePosition(); for (int i = start, j = listView.getLastVisiblePosition(); i <= j; i++) if (bbs.getId() == ((BBS) listView.getItemAtPosition(i)).getId()) { View view = listView.getChildAt(i - start); //getView(i, view, listView); //想办法拿到holdler 我这边是框架直接拿到holder ViewHolder viewHolder = ViewHolder.getViewHolder(view); //点赞数 想办法拿到holder的点赞数的组件 我这里也是因为框架所以这样 TextView textLikeNum = viewHolder.getTextView(R.id.text_like_num); //点赞的图的 想办法拿到holder的点赞的图组件 我这里也是因为框架所以这样 ImageView imgLike = viewHolder.getImageView(R.id.img_like); if (bbs.getPraised() == 1) {//服务器返回如果某个字段为1 就是自己已经点赞 设置背景和颜色 Log.i("执行了", "getPraised: "); imgLike.setImageResource(R.mipmap.ic_like_select); textLikeNum.setTextColor(context.getResources().getColor(R.color.color_232427)); textLikeNum.setText(bbs.getPraisedCount()+""); } else if (bbs.getPraised() == 0) { Log.i("执行了", "getPraised: "); imgLike.setImageResource(R.mipmap.ic_like_normal); textLikeNum.setTextColor(context.getResources().getColor(R.color.color_e1e8eb)); textLikeNum.setText(bbs.getPraisedCount()+""); } // getView(i, view, listView); //直接执行 break; } } }
调用代码请求完网络 从事件总线框架拿到新的praise和bbsBBS bbs = (BBS) event.getBbs();Praise praise = event.getPraise();int i = bbsAdapter.data.indexOf(bbs);BBS mybbs = (BBS) bbsAdapter.data.get(i);//重新设置点赞mybbs.setPraised(praise.getPraised());mybbs.setPraisedCount(praise.getAmount());bbsAdapter.updateItem(listBbs,bbs);
阅读全文
0 0
- Android_List局部刷新某一个item
- listview 刷新某一个item
- ListView实现item局部刷新
- ListView实现Item局部刷新
- ListView实现Item局部刷新
- Android奇巧:ListView实现Item局部刷新
- ListView中 局部刷新Item 实现下载进度条局部更新
- ListView GridView 自定义ViewGroup的单个item 刷新 和 单个item中的局部元素刷新
- Android开发之ListView实现Item局部刷新
- 关于listView、gridView的item的局部刷新
- 在ListView控件的item布局中,进行item中控件的局部刷新。
- 再说Android RecyclerView局部刷新那个坑——RecyclerView中payload参数实现刷新一个item的局部
- 局部刷新
- 局部刷新
- 局部刷新
- 局部刷新
- 局部刷新
- 局部刷新
- Jenkins GIT Maven 发布远程环境
- [USACO2.2]Preface Numbering 序言页码
- ssm整合开发(两张表)
- 如何去掉MyEclipse中的MyEclipse Derby
- Android6.0权限之超级无敌坑
- Android_List局部刷新某一个item
- 网络是怎样连接的---户根勤笔记一第一章
- 深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例
- Scrapy安装和入门Demo开发
- Nginx重新生成 nginx.pid文件
- 蓝桥杯篇0
- python学习之argparse模块
- guava 学习
- Linux字符设备驱动程序开发(1)-使用字符设备驱动