現(xiàn)在後臺(tái)傳回一個(gè)是否預(yù)設(shè)位址的值int Isdefault = bean.getDefault_address();
##怎麼實(shí)作checkbox切換?
在對(duì)你的程式碼改變最小的情況下可以這麼寫(xiě),首先找到預(yù)設(shè)選取的位址
int defaultPosition = -1;
for (int i = 0; i < beanlist.size(); i++) {
if(beanlist.get(i).getDefault_address()){
defaultPosition = i;
break;
}
}
兩種情況:
當(dāng)選過(guò)一個(gè)其他位址後,再取消,預(yù)設(shè)位址重新選取
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);
}
}
一旦選過(guò)其他的位址,預(yù)設(shè)選項(xiàng)就不再起作用
tempPosition = defaultPosition;
if(position == tempPosition){
holder.checkBox.setChecked(true);
}else{
holder.checkBox.setChecked(false);
}
建立一個(gè)陣列以維護(hù)checkBox的狀態(tài)比較省事一點(diǎn)。
當(dāng)CheckBox收到點(diǎn)擊事件時(shí)改變statusList中對(duì)應(yīng)checkBox的狀態(tài),同時(shí)在onBindView/getView方法中根據(jù)statusList的值設(shè)定checkBox的狀態(tài)就好了。
----------------------分割線------------------------- -------------------------------------------------- ------
沒(méi)看到是要單選。 。單選的話需要再加一個(gè)flag,記錄上次選擇的位置,然後從adapter當(dāng)中獲取到對(duì)象,如果可見(jiàn)則修改checkStatus.