比如listview的item里面含有姓名、年龄和头像;我想让姓名和年龄实时刷新数据,头像不刷新,怎么用代码实现啊?
局部更新终究还是要伴随着listview的全局更新的,想想你局部更新,虽然可以内置什么监听器之类的对可视范围内的item进行控件的更新,但当你的item滑动滚出可视范围再滑回来,由于contentView的回收机制,你之前所做的更新将被重置到最初的状态,这时候往往你会考虑要弄一个记录的东西来记录之前修改的item的位置,还有一堆item上的控件的状态,还要对各种状态进行判断,复杂度不见得比全局更新代价小。而全局更新,你只需要根据item的位置修改和adapter绑定的数据集合中对应位置的数据实体,再调nodifyDataSetChanged来更新listview即可,虽然这样是全局更新,但不会引起listview的滚动,用户是感知不到是整体在刷新的。
3 回答1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
1 回答892 阅读✓ 已解决
2 回答1k 阅读
2 回答942 阅读
1 回答910 阅读
2 回答756 阅读
实现的方式参见下面的示例: