您的位置:首頁技術文章
文章詳情頁

Android listview checkbox 單選

瀏覽:141日期:2024-08-15 15:57:55

問題描述

現在后臺返回一個是否默認地址的值int Isdefault = bean.getDefault_address();Android listview checkbox 單選

Android listview checkbox 單選怎么實現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.

相關文章:
国产综合久久一区二区三区