Radioauswahl für Android-Listenansicht-Kontrollkästchen
为情所困
为情所困 2017-05-16 13:29:21
0
2
715

Jetzt gibt der Hintergrund einen Wert zurück, der angibt, ob die Standardadresse int Isdefault = bean.getDefault_address();

ist


Wie implementiert man die Kontrollkästchenumschaltung?

为情所困
为情所困

Antworte allen(2)
为情所困

在对你的代码改变最小的情况下可以这么写,首先找到默认选中的地址

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

两种情况:

  1. 当选过一个其他地址后,再取消,默认地址重新选中

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. 一旦选过其他的地址,默认选项就不再起作用

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

创建一个数组以维护checkBox的状态比较省事一点。
当CheckBox收到点击事件时改变statusList中对应checkBox的状态,同时在onBindView/getView方法中根据statusList的值设置checkBox的状态就好了。

----------------------分割线---------------------------------------------------------------------------------
没看到是要单选。。单选的话需要再加一个flag,记录上次选择的位置,然后从adapter当中获取到对象,如果可见则修改checkStatus.

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!