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

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

Loading…
Cancel
Save