作者erttyy8821 (俠)
看板AndroidDev
標題[問題] BaseadApter中Checkbox ID會亂跳
時間Tue Oct 8 21:20:24 2013
我用ListActivity + 自定義BaseAdapter
實做了ㄧ個含有ImageView, TextView, CheckBox的ListView出來
不過我發現了在選取CheckBox(實際上應該說是選取ListView)的時候
會出現Position正常,R.id卻亂跳的問題
舉例來說,我命令Position<6的時候 setImageResource
一開始是正常
http://ppt.cc/Ceaw
但是往下一看發現後面的Image會亂跳,但Return Position發現其實是沒錯的
(主要是CheckBox也會亂掉,ImageView可以用setVisibility跳過讓過)
http://ppt.cc/D5GP
DeBug又查了好久,才發現是因為ListVew超出頁面而需要上下拉動時
ListView會被回收,導致 CheckBox id亂跳
解決方法似乎是寫一個類似Point或者Buffer來記錄CheckBox
小地資質駑鈍,看了幾篇文章還是不太了解怎麼實做
想問問板上的先進們,有沒有類似的說明或者文章可以參考呢?
--
每天不斷的練習,木耳也會開花結果!
http://www.wretch.cc/blog/erttyy8821&category_id=12500847
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.204.50
※ 編輯: erttyy8821 來自: 140.130.204.50 (10/08 21:21)
推 kewang:未看先猜BaseAdapter一定要配Holder 10/08 22:40
→ passli:猜 你判斷Position<6的時候 沒有去設 else 的部份 10/08 22:50
→ erttyy8821:一樓說的是我查到的部份 10/08 22:54
→ erttyy8821:二樓說的我不卻定,電腦沒帶回來明天在對照一下 10/08 22:55
→ erttyy8821:holder我是看程式碼看了半天還是不太懂原理 10/08 22:56
→ erttyy8821:以解決了 有機會再分享 10/12 18:02
→ ted66:google "listview 錯位" 有蠻多解決方式的 10/14 14:26