84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Jetzt gibt der Hintergrund einen Wert zurück, der angibt, ob die Standardadresse int Isdefault = bean.getDefault_address();
Wie implementiert man die Kontrollkästchenumschaltung?
在对你的代码改变最小的情况下可以这么写,首先找到默认选中的地址
int defaultPosition = -1; for (int i = 0; i < beanlist.size(); i++) { if(beanlist.get(i).getDefault_address()){ defaultPosition = i; break; } }
两种情况:
当选过一个其他地址后,再取消,默认地址重新选中
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); } }
一旦选过其他的地址,默认选项就不再起作用
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.
在对你的代码改变最小的情况下可以这么写,首先找到默认选中的地址
两种情况:
当选过一个其他地址后,再取消,默认地址重新选中
一旦选过其他的地址,默认选项就不再起作用
创建一个数组以维护checkBox的状态比较省事一点。
当CheckBox收到点击事件时改变statusList中对应checkBox的状态,同时在onBindView/getView方法中根据statusList的值设置checkBox的状态就好了。
----------------------分割线---------------------------------------------------------------------------------
没看到是要单选。。单选的话需要再加一个flag,记录上次选择的位置,然后从adapter当中获取到对象,如果可见则修改checkStatus.