做下载功能时,我选择的是自己拿到listview或者gridview中的进度条然后更新他。
完成后发现一个奇怪的BUG,下载过程中第一项item经常会出现进度条和内容不改变的情况,调试后发现,下载过程中getview,position=0被多次调用了,然后我持有的view就发生了改变,但是我也更新的我要刷新的view,hashcode都正确,百思不得其解。
google后发现
假设你自己定义的某个ListView 或者GridView,有可能在程序运行中修改它们的Item的高度,那么此时getView将被回调.于是就出现position=0的情况.
因为出现这种情况,并且此时item内的对象的引用与正确的position=0是不一样的,它不过一个临时的对象而已.
然后恍然大悟,问题解决;
参考内容链接:点击打开链接