pull/90/head^2
kunfei 5 years ago
parent 15585965f4
commit 0cce324ce3
  1. 8
      app/src/main/java/io/legado/app/ui/book/arrange/ArrangeBookActivity.kt
  2. 16
      app/src/main/java/io/legado/app/ui/book/arrange/ArrangeBookAdapter.kt

@ -49,7 +49,7 @@ class ArrangeBookActivity : VMBaseActivity<ArrangeBookViewModel>(R.layout.activi
adapter = ArrangeBookAdapter(this, this)
recycler_view.adapter = adapter
cb_selected_all.onClick {
adapter.selectAll(cb_selected_all.isChecked)
adapter.selectAll(!adapter.isSelectAll())
}
}
@ -70,11 +70,7 @@ class ArrangeBookActivity : VMBaseActivity<ArrangeBookViewModel>(R.layout.activi
}
override fun upSelectCount() {
if (adapter.selectedBooks.size == 0) {
cb_selected_all.isChecked = false
} else {
cb_selected_all.isChecked = adapter.selectedBooks.size >= adapter.getItems().size
}
cb_selected_all.isChecked = adapter.isSelectAll()
//重置全选的文字
if (cb_selected_all.isChecked) {
cb_selected_all.setText(R.string.cancel)

@ -15,17 +15,25 @@ class ArrangeBookAdapter(context: Context, val callBack: CallBack) :
val selectedBooks: HashSet<String> = hashSetOf()
fun isSelectAll(): Boolean {
return if (selectedBooks.isEmpty()) {
false
} else {
selectedBooks.size >= itemCount
}
}
fun selectAll(selectAll: Boolean) {
if (selectAll) {
selectedBooks.clear()
notifyDataSetChanged()
callBack.upSelectCount()
} else {
getItems().forEach {
selectedBooks.add(it.bookUrl)
}
notifyDataSetChanged()
callBack.upSelectCount()
} else {
selectedBooks.clear()
notifyDataSetChanged()
callBack.upSelectCount()
}
}

Loading…
Cancel
Save