diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/BookshelfFragment1.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/BookshelfFragment1.kt index e4c73c1a7..1c69b5e76 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/BookshelfFragment1.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/BookshelfFragment1.kt @@ -140,6 +140,8 @@ class BookshelfFragment1 : BaseBookshelfFragment(R.layout.fragment_bookshelf), val group = bookGroups.getOrNull(position) if (fragment.groupId != group?.groupId) { return POSITION_NONE + } else if (fragment.bookSort != group.bookSort) { + fragment.upBookSort(group.bookSort) } return POSITION_UNCHANGED } diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksFragment.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksFragment.kt index 17aede8ac..dc0264b21 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksFragment.kt @@ -67,7 +67,8 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books), private set var groupId = -1L private set - private var bookSort = 0 + var bookSort = 0 + private set private var upLastUpdateTimeJob: Job? = null override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { @@ -114,6 +115,13 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books), startLastUpdateTimeJob() } + fun upBookSort(sort: Int) { + binding.root.post { + bookSort = sort + upRecyclerData() + } + } + private fun upRecyclerData() { booksFlowJob?.cancel() booksFlowJob = launch {