作者fake01 (假面超人)
看板AndroidDev
标题[问题] GridView BaseAdapter 异步读图顺序错误
时间Fri Jun 13 18:55:07 2014
大家好
今天的问题是当我使用GridView来显示图片,当相簿来使用的范例
在getView中,参考了网路上的说法,
public View getView(final int position, View convertView, ViewGroup parent)
可以重复使用 convertView,来达到滑动时的顺畅效果
if(convertView == null)
{
holder = new Holder();
.....
convertView.setTag(hodler);
}
else
{
holder = (Holder)converView.getTag();
}
接着我使用AsyncTask来载SDcard里面的图档,此时就发生了问题
GirdView里面的小图示,会有发生顺序错乱的问题。
我参考了网路上的说法,将holder.imageview.setTag(position);
然後再AsyncTask里面执行时,使用holder.imageview.getTag();
读取图档id,一切看起来都很正常,但还是会有顺序错乱的问题。
请问这该如何解决??
谢谢大家
Ps1.如果不用AsyncTask,就不会发生顺序错乱,但滑动view时,就会
很卡。
Ps2.目前还有一个状况,当采用AsyncTask读图,第一个page,是不会
产生图片。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.138.152.10
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1402656913.A.70E.html
1F:推 showsky:带个 position 和 ImageView 进去 Async 且 ImageView 06/13 22:57
2F:→ showsky:使用 setTag(position) 处理完 Async 在显示回 ImageVeiw 06/13 22:58
3F:→ showsky:时候进行 position 和 getTag 比较确定不是 cache View 06/13 22:59
4F:推 qweqweqweqwe:最近两天我也卡在一模一样的问题。。 06/13 23:31
5F:推 givemepass:顺序错乱一定是你该row的元件没有设定初始值 06/15 00:09
6F:→ lovelycateye:你有确保你一个 ImageView 只会给一个 AsyncTask 06/16 14:05
7F:→ lovelycateye:去 Reference 吗? 06/16 14:05