2016-03-02 1 views
0

Je le fais dans ma fonction getView mais le problème est que lorsque je fais défiler vers le haut et vers le bas, tous les toggleView sont activés même si la partie "IF" ne fonctionne pas. J'ai utilisé un point d'arrêt pour vérifier si IF fonctionne là mais ce n'est pas le cas, cependant tous les boutons sont vérifiés. Je mets les boutons cochés juste icidéfinir un texte toggleView dans la fonction getVIew()

if((Btns[position].equals("1")) && (!tb.isChecked())){ 
    tb.setChecked(true); 
} 
+0

Je pense que plus d'informations sont nécessaires ici. Pouvez-vous fournir plus de code de l'adaptateur et le fichier de mise en page. –

+0

Cela semble être un problème avec la façon dont Android réutilise les éléments ListView. Une solution facile serait de mettre 'tb.setChecked (false);' avant cette instruction 'if'. Cela va explicitement s'assurer que c'est désactivé, à moins qu'il ne passe le 'if'. –

+0

êtes-vous la position est une chaîne et non un int? – drWisdom

Répondre

0

Vous pouvez initialement régler le bouton pour qu'il ne soit pas coché. Cela fera en sorte que le bouton de tous les éléments de la liste ne sera pas coché, sauf s'il transmet votre instruction if.

tb.setChecked(false); 
if((Btns[position].equals("1")) && (!tb.isChecked())){ 
    tb.setChecked(true); 
}