我有一個Android ListView,其行包含一個複選框,每行四個文本視圖。這是一個多選列表視圖。默認情況下,列表視圖以已經檢查的一些行開始。您可以選中或取消選中任何一行。當用戶單擊行(而不是複選框)時,所有行的複選框都會恢復爲默認值。安卓ListView行復選框被清除回列表項的默認值單擊
- 這是怎麼發生的?
- 我該如何阻止它?
UPDATE
我使用的是默認ListView
與SimpleAdapter
和ArrayList<String, Object>
我有一個Android ListView,其行包含一個複選框,每行四個文本視圖。這是一個多選列表視圖。默認情況下,列表視圖以已經檢查的一些行開始。您可以選中或取消選中任何一行。當用戶單擊行(而不是複選框)時,所有行的複選框都會恢復爲默認值。安卓ListView行復選框被清除回列表項的默認值單擊
UPDATE
我使用的是默認ListView
與SimpleAdapter
和ArrayList<String, Object>
所以我的代碼玩弄後,我有什麼造成的默認值恢復的一個想法,如何阻止它。
由於項目正在重新繪製,因此發佈了默認值恢復。由於點擊突出顯示,並且(de)激活列表項目,所以發生了重新繪製。爲什麼碰巧所有列表項都超出了我的範圍,但是這導致列表視圖使用它們的默認值重新繪製它們。
這意味着要阻止這種情況發生,我應該修改源列表被點擊時(或「未選中」,如果它已被選中)「選擇」。然後當重新繪製時,複選框將被適當地檢查(或未選中)。
我認爲,如果你可以使用CheckedTextview而不是複選框,它會保持它的選中或取消選中狀態,使用複選框,我們需要編寫代碼,保持選中/取消選中狀態