Las casillas de verificación en la lista de Android tienen problemas

Tengo una vista de lista con BaseAdapter personalizada y cada fila contiene una casilla de verificación y tres vistas de texto. Estoy usando Layoutinflater para inflar esta fila desde un archivo xml. Sin embargo, cada vez que marque una casilla de verificación, muchas otras casillas de verificación se verifican en toda la lista, mientras que la casilla de verificación original que quería marcar a veces se marca, y otras no.

Cada vez que un usuario selecciona una casilla de verificación, estoy almacenando el valor único adjunto de esa casilla de verificación en una colección. La próxima vez que se llame al método getView, marque / desmarque manualmente la casilla de verificación antes de devolver la vista dentro de getView () en función de si el valor de la casilla de verificación ya estaba en la colección o no. Pero a pesar de hacer esto, todavía está marcando esas casillas de verificación, a pesar de que el checkchangelistener para esas casillas de verificación no se está activando. Dudo que esto se deba a que las vistas se reutilizan en getView, pero no sé cuál es una buena manera de hacer que todo funcione.

Respuestas a la pregunta(3)

Su respuesta a la pregunta