如何知道是否已检查列表中的所有项目

问题描述 投票:0回答:2

我有一个recyclerview,它的行中有一个复选框,在我检入每个项目后,我将其添加到SparseBooleanArray,这让我存储了选中项目的位置和值(true or false),现在,在我之后为此,我在此BooleanArray中进行迭代以获取已检查的每个项目(true),但是现在我想知道我如何知道所有项目都已被检查,此代码只是逐个调用元素并知道哪个为真是否,但我需要知道何时检查所有项目。

class MyAdapter() {

val map = SparseBooleanArray()

 fun getCheckedArray():SparseBooleanArray = map
 fun getCart(): MutableList<Cart> = cartList

 inner class OrdersInnerViewHolder(itemView: View): BaseViewHolder<Cart>(itemView){
        override fun bind(item: Cart, position: Int) {

            itemView.checkBox.isChecked = item.isChecked

            itemView.checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
                item.isChecked = isChecked
                if(isChecked){
                 map.put(position,true)
                }else{
                    map.removeAt(position)
                }
            }
        }
    }

然后,我只是得到这个sparsearray,并且检查每个条目是否为真(这将是因为它仅存储真实值,但是我需要知道是否已检查该列表的所有值才能继续)

  for((index, item) in myAdapter.getCart().withIndex()){
                    if(myAdapter.getCheckedArray().get(index)){
                      //Here I will get elements that are true, I need to know if all elements has been checked
                    }
                }
android kotlin android-recyclerview android-checkbox
2个回答
0
投票

我解决了它,检查当前订单列表的大小是否与已检查列表相同,如果相等,则意味着已检查列表中的所有项目


0
投票

在全球范围内保持计数器。

© www.soinside.com 2019 - 2024. All rights reserved.