簡體   English   中英

帶有復選框的Android自定義列表視圖檢測是否未選中任何復選框

[英]Android custom listview with checkbox detect if no checkbox is checked

我有一個菜單項,如果單擊該菜單項,則需要首先檢查是否已選中一個復選框。 如果沒有,則顯示祝酒消息。

到目前為止,這是我嘗試過的:

在菜單項上單擊:

 SparseBooleanArray checkedPositions = lv.getCheckedItemPositions();
            int size = checkedPositions.size();
            for (int i = 0 ; i < size ; i++) {
                // We get the key stored at the index 'i'
                int key = checkedPositions.keyAt(i);
                // We get the boolean value with the key
                Log.i ("SavedItems", "checkedPositions(" + key + ") = " + checkedPositions.get(key));
            }

            if(size < 1) {
                Toast.makeText(getActivity(), "No item selected", Toast.LENGTH_SHORT).show();
            } 

如果未選中任何復選框,但如果我選中並取消選中它未觸發Toast消息,則此方法有效。 有任何想法嗎? 謝謝。

要在ListView中顯示是否已對任何項目進行檢查的消息SparseBooleanArray.indexOfValue ,請使用SparseBooleanArray.indexOfValue ,它將返回被檢查項目的索引,否則返回-1

SparseBooleanArray checkedPositions = lv.getCheckedItemPositions();
int isItemChecked=checkedPositions.indexOfValue(true);

if(isItemChecked>0){
     Toast.makeText(getActivity(), "ItemChecked : " +isItemChecked +
         " Value :"+checkedPositions.get(isItemChecked), Toast.LENGTH_SHORT).show();
}else{
       Toast.makeText(getActivity(), "No item selected", Toast.LENGTH_SHORT).show();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM