我正在使用ExpandableListView,並且每個子行都有一個textview,並在其中包含複選框。Android:在ExpandableListView中動態標記複選框
我想要做的是,當用戶按下一個按鈕時,該活動會計算出哪些項目已「檢查」並對這些項目執行某些操作。
我讀了很多關於ExpandableListView和複選框目前不能正常工作的文章,以及我如何需要保留一個額外的數據結構來跟蹤已選擇的內容,而不是。這篇文章涵蓋了這個問題: ExpandableListView and checkboxes
完成!我現在可以跟蹤選擇的內容,以及未選擇的內容。
現在我想解決複選框不顯示其狀態的問題。我注意到,複選框隨意改變時:
- 屏幕旋轉而改變
- 一組摺疊/打開
我知道,它可以檢測這些事件。
我想知道是否有辦法手動設置複選框。我最初嘗試過
ExpandableListView elv = getExpandableListView();
for(int i = 0; i < elv.getChildCount(); i++) {
CheckBox checkbox = ... somehow get checbox within the list
checkbox.setChecked(checkList.at(i, j));
}
其中,i和j表示哪個組,以及孩子和checkList跟蹤已檢查/未檢查的項目。
但是,我注意到getChildCount()的值取決於打開了多少個組,並且不一定告訴我我可以操作哪個列表項。
ExpandableListView已被使用,並且有人必須有辦法解決此問題。有沒有一個聰明的解決方案呢?具體而言,我正在尋找方法來檢查/取消選中onGroupExpand和onConfigurationChange(或類似事件)列表中的適當項目。
先謝謝您!
做listitem(行)並讓它改變它的狀態? – Barak
每次視圖可能更改時,我想檢查/取消選中複選框,或者直觀地更改列表。 –