看板 AndroidDev 關於我們 聯絡資訊
我用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