我在我的應用程序中使用了多選列表視圖。具體來說就是simple_list_item_activated_1。選擇/取消選擇列表視圖中的所有項目
我有一些代碼,一個按鈕,將選擇所有的listview項目。我有一些邏輯說,如果所有的項目已被選中,則取消選擇所有的項目。
當我第一次按下按鈕時,它會按預期方式選擇列表中的所有項目。當我再次按下按鈕時,它會按預期取消選擇所有項目。
這是我的問題: 當我第三次按下按鈕「selectedCount」仍然等於「childCount」。所以顯然我的代碼永遠不會進入If語句。
有人會知道爲什麼會發生這種情況嗎?或者也許有更好的方式來做什麼即時通訊試圖實現?
int childCount = officerList.getChildCount();
int selectedCount = officerList.getCheckedItemPositions().size();
if(childCount != selectedCount){
for (int i = 0; i < officerList.getChildCount(); i++) {
officerList.setItemChecked(i, true);
}
}else{
for (int i = 0; i < officerList.getChildCount(); i++) {
officerList.setItemChecked(i, false);
}
}
}