在Android中,多選項視圖通常是指具有多個可選項的列表或網格。為了管理這些選項的選中狀態,你可以使用SparseBooleanArray
來存儲每個選項的選中狀態。下面是一個簡單的示例:
SparseBooleanArray
對象來存儲選項的選中狀態:private SparseBooleanArray selectedItems = new SparseBooleanArray();
selectedItems
中對應位置的選中狀態:public void onItemClick(int position) {
if (selectedItems.get(position)) {
// 如果該位置已選中,則取消選中
selectedItems.put(position, false);
} else {
// 如果該位置未選中,則設置為選中
selectedItems.put(position, true);
}
}
selectedItems
的狀態設置選項的選中狀態:@Override
public View getView(int position, View convertView, ViewGroup parent) {
// ... 初始化和綁定數據
// 根據selectedItems的狀態設置選項的選中狀態
if (selectedItems.get(position)) {
// 設置選中狀態
viewHolder.checkbox.setChecked(true);
} else {
// 設置未選中狀態
viewHolder.checkbox.setChecked(false);
}
return convertView;
}
selectedItems
:public List<Integer> getSelectedItems() {
List<Integer> selectedPositions = new ArrayList<>();
for (int i = 0; i< selectedItems.size(); i++) {
if (selectedItems.valueAt(i)) {
selectedPositions.add(selectedItems.keyAt(i));
}
}
return selectedPositions;
}
這樣,你就可以實現多選項視圖的選中狀態管理。注意,這里的示例代碼僅供參考,你可能需要根據自己的項目需求進行調整。