From fda149811b1e1cc72ef6be593ad0e18463c8dfdc Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Wed, 9 Apr 2025 19:27:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/bookshelf/style2/BaseBooksAdapter.kt | 1 - .../main/bookshelf/style2/BooksAdapterGrid.kt | 32 ++++++++++++------- .../main/bookshelf/style2/BooksAdapterList.kt | 32 ++++++++++++------- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BaseBooksAdapter.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BaseBooksAdapter.kt index 179ce0a67..f70375856 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BaseBooksAdapter.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BaseBooksAdapter.kt @@ -95,7 +95,6 @@ abstract class BaseBooksAdapter( if (bundle.isEmpty) return null return bundle } - } private val asyncListDiffer by lazy { diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt index 98d4a2d27..903e03a66 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt @@ -34,10 +34,12 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : ) { when (holder) { is BookViewHolder -> (getItem(position) as? Book)?.let { + holder.registerListener(position) holder.onBind(it, position, payloads) } is GroupViewHolder -> (getItem(position) as? BookGroup)?.let { + holder.registerListener(position) holder.onBind(it, position, payloads) } } @@ -50,12 +52,6 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : tvName.text = item.name ivCover.load(item.getDisplayCover(), item.name, item.author, false, item.origin) upRefresh(this, item) - root.setOnClickListener { - callBack.onItemClick(position) - } - root.onLongClick { - callBack.onItemLongClick(position) - } } fun onBind(item: Book, position: Int, payloads: MutableList) = binding.run { @@ -82,6 +78,15 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : } } + fun registerListener(position: Int) { + binding.root.setOnClickListener { + callBack.onItemClick(position) + } + binding.root.onLongClick { + callBack.onItemLongClick(position) + } + } + private fun upRefresh(binding: ItemBookshelfGridBinding, item: Book) { if (!item.isLocal && callBack.isUpdate(item.bookUrl)) { binding.bvUnread.invisible() @@ -105,12 +110,6 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : fun onBind(item: BookGroup, position: Int) = binding.run { tvName.text = item.groupName ivCover.load(item.cover) - root.setOnClickListener { - callBack.onItemClick(position) - } - root.onLongClick { - callBack.onItemLongClick(position) - } } fun onBind(item: BookGroup, position: Int, payloads: MutableList) = binding.run { @@ -129,6 +128,15 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : } } + fun registerListener(position: Int) { + binding.root.setOnClickListener { + callBack.onItemClick(position) + } + binding.root.onLongClick { + callBack.onItemLongClick(position) + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterList.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterList.kt index 32c79ff1e..f569bdb55 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterList.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterList.kt @@ -33,10 +33,12 @@ class BooksAdapterList(context: Context, callBack: CallBack) : ) { when (holder) { is BookViewHolder -> (getItem(position) as? Book)?.let { + holder.registerListener(position) holder.onBind(it, position, payloads) } is GroupViewHolder -> (getItem(position) as? BookGroup)?.let { + holder.registerListener(position) holder.onBind(it, position, payloads) } } @@ -56,12 +58,6 @@ class BooksAdapterList(context: Context, callBack: CallBack) : ivLast.visible() ivRead.visible() upRefresh(this, item) - root.setOnClickListener { - callBack.onItemClick(position) - } - root.onLongClick { - callBack.onItemLongClick(position) - } } fun onBind(item: Book, position: Int, payloads: MutableList) = binding.run { @@ -91,6 +87,15 @@ class BooksAdapterList(context: Context, callBack: CallBack) : } } + fun registerListener(position: Int) { + binding.root.setOnClickListener { + callBack.onItemClick(position) + } + binding.root.onLongClick { + callBack.onItemLongClick(position) + } + } + private fun upRefresh(binding: ItemBookshelfListBinding, item: Book) { if (!item.isLocal && callBack.isUpdate(item.bookUrl)) { binding.bvUnread.invisible() @@ -121,12 +126,6 @@ class BooksAdapterList(context: Context, callBack: CallBack) : tvAuthor.gone() tvLast.gone() tvRead.gone() - root.setOnClickListener { - callBack.onItemClick(position) - } - root.onLongClick { - callBack.onItemLongClick(position) - } } fun onBind(item: BookGroup, position: Int, payloads: MutableList) = binding.run { @@ -145,6 +144,15 @@ class BooksAdapterList(context: Context, callBack: CallBack) : } } + fun registerListener(position: Int) { + binding.root.setOnClickListener { + callBack.onItemClick(position) + } + binding.root.onLongClick { + callBack.onItemLongClick(position) + } + } + } } \ No newline at end of file