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) adapter = ArrangeBookAdapter(this, this)
recycler_view.adapter = adapter recycler_view.adapter = adapter
cb_selected_all.onClick { 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() { override fun upSelectCount() {
if (adapter.selectedBooks.size == 0) { cb_selected_all.isChecked = adapter.isSelectAll()
cb_selected_all.isChecked = false
} else {
cb_selected_all.isChecked = adapter.selectedBooks.size >= adapter.getItems().size
}
//重置全选的文字 //重置全选的文字
if (cb_selected_all.isChecked) { if (cb_selected_all.isChecked) {
cb_selected_all.setText(R.string.cancel) cb_selected_all.setText(R.string.cancel)

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

Loading…
Cancel
Save