recherche

Maison  >  Questions et réponses  >  le corps du texte

Sélection radio de la case à cocher Android ListView

Maintenant, l'arrière-plan renvoie une valeur indiquant si l'adresse par défaut est int Isdefault = bean.getDefault_address();


Comment implémenter le changement de case à cocher ?

为情所困为情所困2767 Il y a quelques jours741

répondre à tous(2)je répondrai

  • 为情所困

    为情所困2017-05-16 13:31:21

    Vous pouvez écrire ainsi avec des modifications minimes de votre code. Recherchez d'abord l'adresse sélectionnée par défaut

    .
    int defaultPosition = -1;
    for (int i = 0; i < beanlist.size(); i++) {
         if(beanlist.get(i).getDefault_address()){
             defaultPosition = i;
             break;
         }
    }

    Deux situations :

    1. Après avoir sélectionné une autre adresse puis l'avoir annulée, l'adresse par défaut sera resélectionnée

    if(tempPosition > -1){
        if(position == tempPosition){
            holder.checkBox.setChecked(true);
        }else{
            holder.checkBox.setChecked(false);
        }
    }else{
        if(position == defaultPosition){
            holder.checkBox.setChecked(true);
        }else{
            holder.checkBox.setChecked(false);
        }
    }
    1. Une fois que vous avez sélectionné une autre adresse, l'option par défaut ne fonctionnera plus

    tempPosition = defaultPosition;
    if(position == tempPosition){
        holder.checkBox.setChecked(true);
    }else{
        holder.checkBox.setChecked(false);
    }

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:31:21

    Il est plus facile de créer un tableau pour conserver le statut de checkBox.
    Lorsque CheckBox reçoit un événement de clic, modifiez le statut du checkBox correspondant dans statusList et définissez en même temps le statut de checkBox en fonction de la valeur de statusList dans la méthode onBindView/getView.

    ------------------------Ligne de séparation----------------------- -- ------------------------------------------------ -- ------
    Je n'ai pas vu que cela nécessitait une seule sélection. . Pour une sélection unique, vous devez ajouter un indicateur pour enregistrer la dernière position sélectionnée, puis récupérer l'objet de l'adaptateur s'il est visible, modifier le checkStatus.

    .

    répondre
    0
  • Annulerrépondre