Twidere-App-Android-Twitter.../twidere/src/main/kotlin/org/mariotaku/twidere/extension/ListViewExtensions.kt

35 lines
882 B
Kotlin
Raw Normal View History

2017-01-01 13:00:15 +01:00
package org.mariotaku.twidere.extension
import android.view.Menu
import android.widget.ListView
import org.mariotaku.ktextension.setItemAvailability
import org.mariotaku.twidere.R
fun ListView.selectAll() {
for (i in 0 until count) {
setItemChecked(i, true)
}
2017-01-31 14:10:20 +01:00
2017-01-01 13:00:15 +01:00
}
fun ListView.selectNone() {
for (i in 0 until count) {
setItemChecked(i, false)
}
}
fun ListView.invertSelection() {
val positions = checkedItemPositions
for (i in 0 until count) {
setItemChecked(i, !positions.get(i))
}
}
fun ListView.updateSelectionItems(menu: Menu) {
val checkedCount = checkedItemCount
val listCount = count
menu.setItemAvailability(R.id.select_none, checkedCount > 0)
menu.setItemAvailability(R.id.select_all, checkedCount < listCount)
2020-06-08 23:07:20 +02:00
menu.setItemAvailability(R.id.invert_selection, checkedCount in 1 until listCount)
2017-01-31 14:10:20 +01:00
}