feat: 优化代码

pull/103/head
kunfei 5 years ago
parent dcc5e19299
commit 6d00fe65a0
  1. 19
      app/src/main/java/io/legado/app/ui/book/arrange/ArrangeBookAdapter.kt
  2. 2
      app/src/main/res/layout/item_arrange_book.xml

@ -42,9 +42,12 @@ class ArrangeBookAdapter(context: Context, val callBack: CallBack) :
override fun convert(holder: ItemViewHolder, item: Book, payloads: MutableList<Any>) {
with(holder.itemView) {
tv_name.text = item.name
tv_author.text = context.getString(R.string.author_show, item.author)
tv_group.text = getGroupName(item.group)
tv_name.text = if (item.author.isEmpty()) {
item.name
} else {
"${item.name}(${item.author})"
}
tv_author.text = getGroupName(item.group)
checkbox.isChecked = selectedBooks.contains(item)
checkbox.onClick {
if (checkbox.isChecked) {
@ -74,12 +77,16 @@ class ArrangeBookAdapter(context: Context, val callBack: CallBack) :
}
private fun getGroupName(groupId: Int): String {
val groupNames = arrayListOf<String>()
callBack.groupList.forEach {
if (it.groupId == groupId) {
return it.groupName
if (it.groupId and groupId > 0) {
groupNames.add(it.groupName)
}
}
if (groupNames.isEmpty()) {
return context.getString(R.string.no_group)
}
return context.getString(R.string.group)
return groupNames.joinToString(",")
}
interface CallBack {

@ -24,6 +24,7 @@
android:padding="3dp"
android:textSize="16sp"
android:text="@string/book_name"
android:singleLine="true"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/tv_author"
app:layout_constraintLeft_toRightOf="@id/checkbox"
@ -35,6 +36,7 @@
android:layout_height="wrap_content"
android:padding="3dp"
android:text="@string/author"
android:singleLine="true"
app:layout_constraintLeft_toRightOf="@+id/checkbox"
app:layout_constraintTop_toBottomOf="@id/tv_name"
app:layout_constraintBottom_toBottomOf="parent"

Loading…
Cancel
Save