[问题] GridView BaseAdapter 异步读图顺序错误

楼主: fake01 (假面超人)   2014-06-13 18:55:07
大家好
今天的问题是当我使用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,是不会
产生图片。
作者: showsky (Ting Cheng)   2014-06-13 22:57:00
带个 position 和 ImageView 进去 Async 且 ImageView使用 setTag(position) 处理完 Async 在显示回 ImageVeiw时候进行 position 和 getTag 比较确定不是 cache View
作者: qweqweqweqwe (4qwe)   2014-06-13 23:31:00
最近两天我也卡在一模一样的问题。。
作者: givemepass (λ)   2014-06-15 00:09:00
顺序错乱一定是你该row的元件没有设定初始值
作者: lovelycateye (我还想要更多力量)   2014-06-16 14:05:00
你有确保你一个 ImageView 只会给一个 AsyncTask去 Reference 吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com