У меня есть окно повторного просмотра, в котором есть флажок в строке, после того, как я проверяю каждый элемент, я добавляю его к 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
}
}