Android listview checkbox 單選
問題描述
現在后臺返回一個是否默認地址的值int Isdefault = bean.getDefault_address();
怎么實現checkbox切換?
問題解答
回答1:在對你的代碼改變最小的情況下可以這么寫,首先找到默認選中的地址
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);}回答2:
創建一個數組以維護checkBox的狀態比較省事一點。當CheckBox收到點擊事件時改變statusList中對應checkBox的狀態,同時在onBindView/getView方法中根據statusList的值設置checkBox的狀態就好了。
----------------------分割線---------------------------------------------------------------------------------沒看到是要單選。。單選的話需要再加一個flag,記錄上次選擇的位置,然后從adapter當中獲取到對象,如果可見則修改checkStatus.
相關文章:
1. 關于docker下的nginx壓力測試2. mac里的docker如何命令行開啟呢?3. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?4. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””5. docker容器呢SSH為什么連不通呢?6. nignx - docker內nginx 80端口被占用7. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題8. javascript - 最近用echarts做統計圖時遇到兩個問題!!9. docker gitlab 如何git clone?10. angular.js使用$resource服務把數據存入mongodb的問題。

網公網安備