看板 AndroidDev 關於我們 聯絡資訊
大家好 今天的問題是當我使用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://www.ptt.cc/bbs/AndroidDev/M.1402656913.A.70E.html
showsky:帶個 position 和 ImageView 進去 Async 且 ImageView 06/13 22:57
showsky:使用 setTag(position) 處理完 Async 在顯示回 ImageVeiw 06/13 22:58
showsky:時候進行 position 和 getTag 比較確定不是 cache View 06/13 22:59
qweqweqweqwe:最近兩天我也卡在一模一樣的問題。。 06/13 23:31
givemepass:順序錯亂一定是你該row的元件沒有設定初始值 06/15 00:09
lovelycateye:你有確保你一個 ImageView 只會給一個 AsyncTask 06/16 14:05
lovelycateye:去 Reference 嗎? 06/16 14:05