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 bb0db27eb..a6965c72f 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 @@ -135,8 +135,8 @@ abstract class BaseBooksAdapter( interface CallBack { - fun onItemClick(position: Int) - fun onItemLongClick(position: Int) + fun onItemClick(item: Any) + fun onItemLongClick(item: Any) fun isUpdate(bookUrl: String): Boolean fun getItems(): List } 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 903e03a66..569f77afc 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,12 +34,12 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : ) { when (holder) { is BookViewHolder -> (getItem(position) as? Book)?.let { - holder.registerListener(position) + holder.registerListener(it) holder.onBind(it, position, payloads) } is GroupViewHolder -> (getItem(position) as? BookGroup)?.let { - holder.registerListener(position) + holder.registerListener(it) holder.onBind(it, position, payloads) } } @@ -78,12 +78,12 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : } } - fun registerListener(position: Int) { + fun registerListener(item: Any) { binding.root.setOnClickListener { - callBack.onItemClick(position) + callBack.onItemClick(item) } binding.root.onLongClick { - callBack.onItemLongClick(position) + callBack.onItemLongClick(item) } } @@ -128,12 +128,12 @@ class BooksAdapterGrid(context: Context, callBack: CallBack) : } } - fun registerListener(position: Int) { + fun registerListener(item: Any) { binding.root.setOnClickListener { - callBack.onItemClick(position) + callBack.onItemClick(item) } binding.root.onLongClick { - callBack.onItemLongClick(position) + callBack.onItemLongClick(item) } } 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 f569bdb55..d15b752c3 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,12 +33,12 @@ class BooksAdapterList(context: Context, callBack: CallBack) : ) { when (holder) { is BookViewHolder -> (getItem(position) as? Book)?.let { - holder.registerListener(position) + holder.registerListener(it) holder.onBind(it, position, payloads) } is GroupViewHolder -> (getItem(position) as? BookGroup)?.let { - holder.registerListener(position) + holder.registerListener(it) holder.onBind(it, position, payloads) } } @@ -87,12 +87,12 @@ class BooksAdapterList(context: Context, callBack: CallBack) : } } - fun registerListener(position: Int) { + fun registerListener(item: Any) { binding.root.setOnClickListener { - callBack.onItemClick(position) + callBack.onItemClick(item) } binding.root.onLongClick { - callBack.onItemLongClick(position) + callBack.onItemLongClick(item) } } @@ -144,12 +144,12 @@ class BooksAdapterList(context: Context, callBack: CallBack) : } } - fun registerListener(position: Int) { + fun registerListener(item: Any) { binding.root.setOnClickListener { - callBack.onItemClick(position) + callBack.onItemClick(item) } binding.root.onLongClick { - callBack.onItemLongClick(position) + callBack.onItemLongClick(item) } } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt index 320dc820c..4eda4b594 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt @@ -211,8 +211,8 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2) } } - override fun onItemClick(position: Int) { - when (val item = booksAdapter.getItem(position)) { + override fun onItemClick(item: Any) { + when (item) { is Book -> when { item.isAudio -> startActivity { @@ -231,8 +231,8 @@ class BookshelfFragment2() : BaseBookshelfFragment(R.layout.fragment_bookshelf2) } } - override fun onItemLongClick(position: Int) { - when (val item = booksAdapter.getItem(position)) { + override fun onItemLongClick(item: Any) { + when (item) { is Book -> startActivity { putExtra("name", item.name) putExtra("author", item.author)