Caixas de seleção no android listview tendo problema

Eu tenho uma listview com BaseAdapter personalizado e cada linha contém uma caixa de seleção e três textviews. Estou usando o Layoutinflater para aumentar essa linha de um arquivo xml. No entanto, toda vez que eu marcar uma caixa de seleção, muitas outras caixas de seleção são marcadas na lista inteira, enquanto a caixa de seleção original que eu queria marcar às vezes é marcada por si mesma e outras vezes não.

Sempre que um usuário seleciona uma caixa de seleção, estou armazenando o valor exclusivo anexado a essa caixa de seleção em uma coleção. Na próxima vez que o método getView for chamado, marque / desmarque manualmente a caixa de seleção antes de retornar a exibição dentro de getView () com base em se o valor da caixa de seleção já estava na coleção ou não. Mas, apesar de fazer isso, ele ainda está marcando essas caixas de seleção, mesmo que o listener de comutador marcado para essas caixas de seleção não esteja sendo inicializado. Eu duvido disso devido a visualizações sendo reutilizadas no getView, mas não sei qual é uma boa maneira de fazer com que tudo isso funcione.

questionAnswers(3)

yourAnswerToTheQuestion